小弟初学,opengl贴大量纹理后,速度非常慢,有些问题请各位指点???? LOD;只画场景中出现的东西;分块动态调度。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我就是在对纹理使用显示列表的时候后,内存快崩溃了,一般网上的例子都是一个或几个模型的例子,如过有贴上百个模型纹理的例子,请发一份给我参考一下,谢谢.邮箱:[email protected] 1。注意在读取纹理并生成纹理列表后,释放位图象素的内存。2。注意同一个纹理不要重复读入。3。采用Minimap方式。4。做好模型网格的组织工作,尽量用“顶点数组”方式,减少管道中顶点的传输量。5。纹理文件是不是太大,或者是分辨率过高了?楼主的网格只有3000多个,依据现在的硬件条件,不应该那么慢!! 这是一个房子的数据格式,我就是读入这样一组数据,1 //房子的序列,代表第一个房子ROOF //从这开始房顶的数据段18 //房顶一共要绘多少个点,正数代表凸多边形,负数 凹多边形0 0.000000 0.659120 //这里是凸多边形,用三角形组合成1 0.103394 0.3830072 0.192367 0.1454030 0.000000 0.6591202 0.192367 0.1454033 0.753185 1.0000002 0.192367 0.1454034 0.246815 0.0000005 1.000000 0.3408805 1.000000 0.3408803 0.753185 1.0000002 0.192367 0.1454036 0.040847 0.3546997 0.129820 0.1170952 0.192367 0.1454032 0.192367 0.1454031 0.103394 0.3830076 0.040847 0.354699水泥-路面 //纹理图片名字WALL //墙面的数据段8 1.0 0.00 1.0 1.03 0.0 1.09 0.0 0.018721873C07_gl72 //纹理图片名字WALL10 1.0 0.01 1.0 1.00 0.0 1.08 0.0 0.018721873C07_gl72WALL11 1.0 0.06 1.0 1.01 0.0 1.010 0.0 0.018721873C07_q1 ////纹理图片名字WALL12 1.0 0.07 1.0 1.06 0.0 1.011 0.0 0.018721873C07_gl72WALL13 1.0 0.02 1.0 1.07 0.0 1.012 0.0 0.018721873C07_q1WALL14 1.0 0.04 1.0 1.02 0.0 1.013 0.0 0.018721873C07_q1WALL15 1.0 0.05 1.0 1.04 0.0 1.014 0.0 0.018721873C07_gl72WALL9 1.0 0.03 1.0 1.05 0.0 1.015 0.0 0.018721873C07_gl72POINT //点数据段,这个模型一共有几个点坐标16 //点数105377.476897 18831.187194 23.082729105379.085488 18827.279760 23.082729105380.469732 18823.917286 23.082729105389.194897 18836.011194 23.082729105381.316829 18821.859599 23.082729105393.034829 18826.683599 23.082729105378.112387 18826.879159 23.082729105379.496631 18823.516685 23.082729105377.476897 18831.187194 2.934691105389.194897 18836.011194 2.844440105379.085488 18827.279760 3.005961105378.112387 18826.879159 3.014250105379.496631 18823.516685 3.121223105380.469732 18823.917286 3.055506105381.316829 18821.859599 3.152186105393.034829 18826.683599 3.026858BOX //边界盒子105377.476897 18821.859599 2.844440 //最大的x,y,z坐标105393.034829 18836.011194 23.082729 //最小的x,y,z坐标 显示的图片最小化后还原消失 求Bresenham算法画圆 这样的循环,那个方法快? 怎样重命名、删除LISTctrl中选中的文件? 问一个编译的时候跟ddk有关的问题 散分 发送SB_GETTEXT没取得状态上文本 哪位有能力的朋友能帮我解决一下, 先谢谢了. 关于VC的几个小问题 我看了msdn,还是有一点不懂? 请问如何在坐标轴上画个正玄曲线? 坐标轴!!!
邮箱:[email protected]
2。注意同一个纹理不要重复读入。
3。采用Minimap方式。
4。做好模型网格的组织工作,尽量用“顶点数组”方式,减少管道中顶点的传输量。
5。纹理文件是不是太大,或者是分辨率过高了?楼主的网格只有3000多个,依据现在的硬件条件,不应该那么慢!!
ROOF //从这开始房顶的数据段
18 //房顶一共要绘多少个点,正数代表凸多边形,负数
凹多边形
0 0.000000 0.659120 //这里是凸多边形,用三角形组合成
1 0.103394 0.383007
2 0.192367 0.145403
0 0.000000 0.659120
2 0.192367 0.145403
3 0.753185 1.000000
2 0.192367 0.145403
4 0.246815 0.000000
5 1.000000 0.340880
5 1.000000 0.340880
3 0.753185 1.000000
2 0.192367 0.145403
6 0.040847 0.354699
7 0.129820 0.117095
2 0.192367 0.145403
2 0.192367 0.145403
1 0.103394 0.383007
6 0.040847 0.354699
水泥-路面 //纹理图片名字
WALL //墙面的数据段
8 1.0 0.0
0 1.0 1.0
3 0.0 1.0
9 0.0 0.0
18721873C07_gl72 //纹理图片名字
WALL
10 1.0 0.0
1 1.0 1.0
0 0.0 1.0
8 0.0 0.0
18721873C07_gl72
WALL
11 1.0 0.0
6 1.0 1.0
1 0.0 1.0
10 0.0 0.0
18721873C07_q1 ////纹理图片名字
WALL
12 1.0 0.0
7 1.0 1.0
6 0.0 1.0
11 0.0 0.0
18721873C07_gl72
WALL
13 1.0 0.0
2 1.0 1.0
7 0.0 1.0
12 0.0 0.0
18721873C07_q1
WALL
14 1.0 0.0
4 1.0 1.0
2 0.0 1.0
13 0.0 0.0
18721873C07_q1
WALL
15 1.0 0.0
5 1.0 1.0
4 0.0 1.0
14 0.0 0.0
18721873C07_gl72
WALL
9 1.0 0.0
3 1.0 1.0
5 0.0 1.0
15 0.0 0.0
18721873C07_gl72
POINT //点数据段,这个模型一共有几个点坐标
16 //点数
105377.476897 18831.187194 23.082729
105379.085488 18827.279760 23.082729
105380.469732 18823.917286 23.082729
105389.194897 18836.011194 23.082729
105381.316829 18821.859599 23.082729
105393.034829 18826.683599 23.082729
105378.112387 18826.879159 23.082729
105379.496631 18823.516685 23.082729
105377.476897 18831.187194 2.934691
105389.194897 18836.011194 2.844440
105379.085488 18827.279760 3.005961
105378.112387 18826.879159 3.014250
105379.496631 18823.516685 3.121223
105380.469732 18823.917286 3.055506
105381.316829 18821.859599 3.152186
105393.034829 18826.683599 3.026858
BOX //边界盒子
105377.476897 18821.859599 2.844440 //最大的x,y,z坐标
105393.034829 18836.011194 23.082729 //最小的x,y,z坐标