jza*_*ruk 5 java jmonkeyengine
以下教程介绍了如何使用高度贴图执行基本纹理喷涂.
http://jmonkeyengine.org/wiki/doku.php/jme3:beginner:hello_terrain
我能够按照本教程和练习获得优异的成绩.但是,我想知道如何添加三个以上的纹理.我在Terrain.j3md文件的材料参数只有三个纹理层看到:Tex1,TEX2,Tex3所以我不相信你可以使用Terrain.j3md做到这一点.
我假设您必须使用TerrainLighting.j3md.但是,它的结构与NormalMap和DiffuseMap等参数的结构完全不同,我找不到任何文档/教程来解释它们到底是什么.
JME3 是一个基于 OpenGL 的库,使用GLSL 着色器进行渲染。您必须编写自定义着色器或修改现有着色器才能执行自定义渲染。
着色器是一个高级主题。您可以在 SDK 文档中找到着色器的介绍。但您可能想阅读有关“材质、光、阴影”的完整文章。
JME3 使用三个文件来管理它们:
.vert包含 GLSL 顶点着色器代码的文件.frag包含 GLSL 片段着色器代码的文件.j3md包含着色器程序定义的文件顶点着色器和片段着色器都只是使用 GLSL 语言的一段代码。顶点着色器对视图中的每个顶点执行一次以计算屏幕坐标。片段着色器对屏幕上的每个像素执行一次以计算颜色。.j3md 文件具有有关输入参数(材质)、技术(着色器)等的定义。
参数的数量和类型是固定的。但您可以修改Terrain.j3m以添加新的纹理参数:
Texture2D tex4
Run Code Online (Sandbox Code Playgroud)
添加新的输入参数Terrain.frag:
uniform sampler2D m_Tex4;
Run Code Online (Sandbox Code Playgroud)
并根据需要修改片段着色器代码以使用新的纹理参数。
| 归档时间: |
|
| 查看次数: |
1252 次 |
| 最近记录: |