我总是回避一件事是3D图形编程,所以我决定采用一个使用3d图形的项目来获得学习体验。我想在Linux中做这个项目。
我想写一个简单的3D CAD类型程序。允许用户操纵3d空间中的对象的东西。进行此类开发的最佳环境是什么?我假设C ++是要走的路,但是有什么工具?我想使用Eclipse吗?我想要什么工具?
答案 0 :(得分:8)
OpenGL / SDL ,IDE有点无关紧要。
我的个人IDE首选项是gedit / VIM +命令窗口。有大量的IDE,所有这些都允许您使用OpenGL / SDL和其他实用程序库进行编程。
我假设您使用C语言进行编程,但是Python,Perl,PHP或其他任何内容都存在绑定,所以不用担心。
在网上查看开源CAD软件包,它们可能会提供灵感!
另一种方法可能是C#/ Mono实现......这些应用程序正在取得进展......你可能会使它有点便携。
答案 1 :(得分:7)
这取决于你想要学到什么 3D内容的核心是openGL,3d应用程序确实没有竞争对手,特别是在非Windows平台上。
除此之外,您可能需要一个场景图(osg,openscengraph,coin) - 这会处理您想要绘制的对象列表,它们在空间中彼此之间的关系能够相对于其他对象移动,选择对象它调用opengGL进行实际渲染。
然后,你需要一个gui库。 Qt,Fltk,wxWigets或内置于场景库中的一个或直接在openGL中编写的。这可以处理应用程序的菜单,对话框等。它提供了一个可以绘制的openGL画布。
个人选择是openscenegraph和Qt
答案 2 :(得分:3)
答案 3 :(得分:2)
Qt有一个相当不错的OpenGL-based graphics module.
答案 4 :(得分:2)
也许您应该考虑使用OGRE之类的图形渲染引擎。使用OpenGL从头开始编写CAD程序将花费大量时间。
答案 5 :(得分:2)
在Linux上,你没有竞争OpenGL。
它是3D领域的重要人物之一,因此绝对值得学习。
这个site有一些很好的指南和代码示例(使用各种语言)。
您可以将OpenGL与多种语言一起使用,当然也可以使用C和C ++,例如使用LWJGL或其他API的JAVA。
答案 6 :(得分:2)
如果您想要比opengl“更高级别”进行编程,请使用vtk。它很容易上手并且绑定到许多语言。
见www.vtk.org
答案 7 :(得分:1)
您可以使用 OpenSceneGraph 进行渲染..它是一个基于OpenGL的库..
你可以使用 OpenCascade ..它有利于3D建模......
我们正在实现这样一个IDE,我们使用这些东西..使用纯OpenGL可能对你来说很难...无论如何你可能会尝试......
对于界面,最好使用 Qt ..
我建议您使用 Eclipse ,如果它是Linux ..
(如果是Windows,建议是Visual Studio)
答案 8 :(得分:0)