2
Q
3d平铺地形
A
回答
3
完全取决于您的地形复杂性和大小。通常情况下,您将拥有具有多个四边形/拼贴的地形拼贴(例如,一个拼贴可以包含4096个三角形),然后替换顶点以获取所需的地形。尽管如此,每个图块都将是一个索引图元,但是单个绘图调用将导致大量三角形和大部分地形。进一步考虑这个想法,你可以使距离更远的瓦片,因此你不会得到太多的细节(寻找基于四叉树/基于clipmap的地形方法;你会得到这样的:http://twitpic.com/89y5kn)。或者,如果您可以在顶点着色器中取代,则可以使用实例化来进一步减少绘制调用的数量。根据实例,将UV坐标传递到您的高地和世界空间位置,然后再次渲染高分辨率图块,但是现在您可以结束整个地形的一次绘制调用。
对于一个小游戏,您可能只想生成几个高分辨率的贴图(65k个三角形左右),然后截取它们。这给你一个容易的大地形,仍然可以管理;但这绝对不能太好:)取决于你的需求。
对于纹理贴图,您还可以使用低分辨率索引纹理,并查找每个像素的图集,或者只将索引存储在顶点缓冲区中并插入它们(这很常见:存储4个权重每个顶点并用它来查找四种不同的纹理。)
相关问题
- 1. 如何在DirectX9 C++中纹理平铺的3D地形?
- 2. 平铺地图
- 3. SDL平铺和雪碧渲染地形
- 4. LibGDX:从平铺到平铺渲染平铺地图
- 5. 在其顶部显示带有3D对象的平铺地图
- 6. XtraTabbedMdiManager布局(平铺垂直,水平平铺,平铺水平)
- 7. 平铺移动平铺
- 8. 安卓平铺地图
- 9. Pygame中的平铺地图
- 10. Java - 平铺地图对象
- 11. Android定制平铺地图
- 12. WP7本地更新平铺
- 13. 平铺2d地图指南
- 14. 平铺式地图编辑器:等角平铺侧的大小
- 15. 平铺地图上的多平铺对象
- 16. SFML平台与地图平铺碰撞
- 17. Qt:3D水平条形图
- 18. 加载从地形设置一个平铺在SFML
- 19. Cocos2d +平铺+传送(平铺属性)?
- 20. Android - 横向平铺六角形
- 21. AndEngine GLES1和平铺图形故障
- 22. 平铺2D纹理以填充矩形
- 23. 与平铺背景形状的圆角
- 24. 平铺六边形Tilemap坐标
- 25. 在WPF中无缝平铺矩形
- 26. 用平铺图像渲染四边形?
- 27. Cocos2d平铺地图添加精灵
- 28. 平铺地图(json)碰撞失败
- 29. 在cocos2d-iphone中优化平铺地图
- 30. Android中的等距平铺地图