winxos 发表于 2009-11-12 07:50:17

3d显示引擎

前些天自己凭感觉用GDI+做了个简单的3D显示模型,很多技术细节很棘手,
想了解一些3d引擎实现方面的东西,能找到的资料非常有限,
主要想了解一下:
渲染是怎么实现的;
可见性怎么判断;
--------------------
PS:感觉用GDI+做的话,如何可以实现渲染效果呢?百思不得其解。

我只需要最简单的描述就可以了,
不知道谁能推荐一些资料?
book,e-book,paper都可以,谢谢各位了。

无心人 发表于 2009-11-17 15:25:27

你牛
用GDI+实现三维效果

winxos 发表于 2009-11-17 19:25:36

2# 无心人
汗一个,
主要是不知道3D引擎细节是怎么实现的,
只能通过GDI之类的东西来模拟了^_^

wayne 发表于 2009-11-18 09:38:09

搞3D一般都是用OpenGL,DirectX吧,

wayne 发表于 2009-11-18 09:42:00

搜索了一下,http://group.qqread.com/thread-920-1-4.html

关于opengl和gdi的比较
opengl是向量级,GDI是位图级.

opengl:强大的浮点坐标系,直接支持选取模式,支持3D,跨操作系统平台,支持双缓冲,二维应用时画线速度不错,但不能画凹多边形,经过特殊处理可以实现,但要么耗时间要么耗空间,填充样式使用一个128×128的位图,线型也可自定义,有优点也有缺陷。打印和文字显示很麻烦,采用特殊方法效率好像也不高

GDI:最麻烦的就是起坐标系的问题,不自动支持浮点坐标系,可以通过MemDC实现双缓冲,但有缺陷。其他如字体、线型、面型等都没有问题,因为基本上它就是标准,OpenGL好不好用也是与它做比较。

opengl没有gdi的FloodFill等位图填充功能.
gdi没有opengl强大的坐标系统.

opengl跨平台.显卡加速性能比gdi强得多.
但如果你要把opengl画的图象存为位图格式会很麻烦

winxos 发表于 2009-11-18 14:38:18

5# wayne
opengl,dx之类的东西都是专门针对3d的东西,当然是非常好的,使用起来也很简单。
我用gdi+做这个的目的实际上就是想做一个类似opengl,但是轻量级一些的3d引擎,
坐标系统我已经架设好了,
写这个程序的主要目的就是VB.NET下似乎默认不支持OpenGL,要安装taoframework来进行开发,
对于我自己分析需要的话也不需要太好的显示效果,能表示出3d就行了^_^
还是应该看一下专门的书籍才是,光自己想一下就江南才尽了。

wayne 发表于 2009-11-19 09:54:48

呵呵,有才,这我就一点都不懂了

无心人 发表于 2009-11-19 15:29:00

OpenGL,windows平台似乎有意在打压之

如果按照你图显示的应用, GDI+并不很难

只要别动起来

winxos 发表于 2009-11-19 19:24:01

8# 无心人
这就是我做的动画里面的一个截图,
动画也无非就是变点参数罢了,
只是不知道如何实现渲染。

wayne 发表于 2009-11-19 20:28:17

其实OpenGL glut库很小的,在VC下的配置也很简单。
也有很多其他语言的扩展支持,比如tcl/tk。
页: [1] 2
查看完整版本: 3d显示引擎