在 GLGE 中,是否可以指定纹理应映射到的网格面? (还有 WEBGL)
我正在尝试制作一个立方体形式的环境地图,该地图将图像映射到特定的面上,以给人一种在该区域的错觉(有点像谷歌的街景)
我正在尝试在中做到这一点>glge
但是,由于我的经验有限,我只知道如何将一个纹理映射到整个网格(这就是我目前正在做的事情)。如果我要创建 6 个不同的纹理,我是否可以指定这些纹理应加载到的面?
I'm trying to make an environment map which is in the form of a cube that has images mapped onto particular faces to give the illusion of being in the area (sorta like google's street view)
I'm trying to do It in glge
however, with my limited experience, I only know how to map one texture to a whole mesh (Which is what I'm doing at the moment). If I were to create 6 different textures, would it possible for me to specify the faces that those textures should be loaded to?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以将立方体的六个面生成为单独的对象,并为每个面使用不同的纹理。另一种方法是为立方体的不同面设置不同的纹理坐标。
如果您想要立即运行的代码,则 Three.js 有几个天空盒示例。例如 http://mrdoob.github.com/third.js/examples/webgl_panorama_equirectangular。 html
You could generate the six faces of the cube as separate objects and use a different texture for each. Alternative is to set different texture coordinates for the different faces of the cube.
If you want ready-to-run code, three.js has a couple of skybox examples. E.g. http://mrdoob.github.com/three.js/examples/webgl_panorama_equirectangular.html
您应该查看“UV 映射”。检查此示例。粗略地说,UV 描述了多边形在纹理上的映射方式(以 x、y 为单位)。
You should look at "UV Mapping". Check this example. Roughly, UVs describe how the polygons are mapped (in x,y) on the texture.
听起来你想要一个立方体贴图纹理 - 它需要六个单独的图像,并且你使用方向向量而不是(u,v)坐标来查找它。它们是制作环境的常用方法。 WebGL 中提供了立方体贴图纹理。
Sounds like you want a cube map texture — it takes six separate images, and you lookup in it with a direction vector rather than (u,v) coordinates. They are the usual way to do environments. Cube map textures are available in WebGL.