演示截图:
剔除了97.43%的顶点
剔除了97.24%的顶点
LOD (Level Of Detail) 层次细节, 是解决硬件性能不够发达的技术产物, 可以说它是用种过渡技术, 也就是说当硬件发展的一定阶段, LOD技术也许就会走向末端. 但现阶段,LOD还是解决渲染速度瓶颈问题的最有效的技术手段之一.
在我的DEMO中, 我使用了perlin noise来程序生成高度信息, 整个生成的高度图的大小为1025X1025, 按DEMO中的比例尺来换算,大约是4X4 平方公里的面积. 顶点总数大约为105万.
可以想象,如果不进行任何形式的优化, 完全 brute-force (全部一次渲染), 如此多的数据量通过你的BUS传送到GPU里面, 那个性能可像而知 (如果你的电脑跟PS3一样强悍, 那也无所谓). 大多数的电脑都是不能承受的.
在我的DEMO中, 使用了 LOD 算法 + Frustum Culling 算法, 有效的进行了数据的剔除, 一般平均可以剔除97%的顶点, 并保持较高的FPS (>50)
由于需要与生成数据, 对内存的要求比较苛刻, 最好是256MB或256MB以上.
下载地址:
点击下载
www.azure.com.cn
评论Feed: http://www.azure.com.cn/feed.asp?q=comment&id=156
剔除了97.43%的顶点
剔除了97.24%的顶点
LOD (Level Of Detail) 层次细节, 是解决硬件性能不够发达的技术产物, 可以说它是用种过渡技术, 也就是说当硬件发展的一定阶段, LOD技术也许就会走向末端. 但现阶段,LOD还是解决渲染速度瓶颈问题的最有效的技术手段之一.
在我的DEMO中, 我使用了perlin noise来程序生成高度信息, 整个生成的高度图的大小为1025X1025, 按DEMO中的比例尺来换算,大约是4X4 平方公里的面积. 顶点总数大约为105万.
可以想象,如果不进行任何形式的优化, 完全 brute-force (全部一次渲染), 如此多的数据量通过你的BUS传送到GPU里面, 那个性能可像而知 (如果你的电脑跟PS3一样强悍, 那也无所谓). 大多数的电脑都是不能承受的.
在我的DEMO中, 使用了 LOD 算法 + Frustum Culling 算法, 有效的进行了数据的剔除, 一般平均可以剔除97%的顶点, 并保持较高的FPS (>50)
- LOD算法 - 离摄像机近的地方,用高的细节网格渲染, 较远的地方用低的细节网格渲染.
- Frustum Culling算法 - 对视锥以外不可见的顶点, 在渲染前剔除, 不传送到GPU
由于需要与生成数据, 对内存的要求比较苛刻, 最好是256MB或256MB以上.
下载地址:
www.azure.com.cn
[最后修改由 Admin, 于 2005-11-19 18:00:26]
评论Feed: http://www.azure.com.cn/feed.asp?q=comment&id=156
此日志不可发表评论.












在平行投影中,将刚才的2D坐标处, 画上太阳的最强光斑, 其他所有的光斑都在屏幕中心与, 最强光斑的一条直线上。
void Convert(GLfloat Objx, GLfloat Objy, GLfloat Objz)
{
GLint viewport[4];
GLdouble mvmatrix[16],projmatrix[16];
glGetIntegerv(GL_VIEWPORT,viewport);
glGetDoublev(GL_MODELVIEW_MATRIX,mvmatrix);
glGetDoublev(GL_PROJECTION_MATRIX,projmatrix);
if( gluProject((GLdouble)Objx,(GLdouble)Objy,(GLdouble)Objz,
mvmatrix,projmatrix,viewport,&winx,&winy,&winz) == GL_FALSE)
{
MessageBox(NULL, "Convert Fail", "", MB_OK);
}
}
上面是我写的一个把空间坐标转化为屏幕坐标的程序,能帮我看看哪有错吗?
请高手帮忙,谢谢!
我直接让他为0,
就看到了图像
我按照这个上面的信箱给你发了封信,不知可收到了?
我的信箱是yuyeyue3841@sina.com。
光晕有个难题是:当有遮挡物挡住中心的太阳时,太阳和光晕都消失.
当遮挡物没挡住中心的太阳时,光晕始终存在.
也就是说:不可能挡住部分光晕.光晕和太阳同时存在或消失.
请问这个如何实现?
比如当一座山丘挡住太阳,那么此时所有的光晕都应该消失,这个该怎么实现?
总不至于自己每帧去计算太阳和山丘的遮挡关系吧?
就可以确定遮挡了。
如何做光晕,可以参考nehe的一课
nehe.gamedev.net
sxly1111@163.com
abcdeping@gmail.com
zhou_5129327@163.com
liuwei_jarod@tom.com
加快速度,首先将场景分块,用摄像机cull一遍,
然后加上每块的LOD, 速度就提升起来了。
目前我正在学习LOD算法,能看一看你DEMO的源代码吗?
将不胜感激!
Email:whl020519@163.com
谢谢了
luke3813@126.com
feiliang3828912@126.com