- //! A solid normal map renderer.\r
- /** First texture is the color map, the second should be the\r
- normal map. Note that you should use this material only when\r
- drawing geometry consisting of vertices of type\r
- S3DVertexTangents (EVT_TANGENTS). You can convert any mesh into\r
- this format using IMeshManipulator::createMeshWithTangents()\r
- (See SpecialFX2 Tutorial). This shader runs on vertex shader\r
- 1.1 and pixel shader 1.1 capable hardware and falls back to a\r
- fixed function lighted material if this hardware is not\r
- available. Only two lights are supported by this shader, if\r
- there are more, the nearest two are chosen. */\r
- EMT_NORMAL_MAP_SOLID,\r
-\r
- //! A transparent normal map renderer.\r
- /** First texture is the color map, the second should be the\r
- normal map. Note that you should use this material only when\r
- drawing geometry consisting of vertices of type\r
- S3DVertexTangents (EVT_TANGENTS). You can convert any mesh into\r
- this format using IMeshManipulator::createMeshWithTangents()\r
- (See SpecialFX2 Tutorial). This shader runs on vertex shader\r
- 1.1 and pixel shader 1.1 capable hardware and falls back to a\r
- fixed function lighted material if this hardware is not\r
- available. Only two lights are supported by this shader, if\r
- there are more, the nearest two are chosen. */\r
- EMT_NORMAL_MAP_TRANSPARENT_ADD_COLOR,\r
-\r
- //! A transparent (based on the vertex alpha value) normal map renderer.\r
- /** First texture is the color map, the second should be the\r
- normal map. Note that you should use this material only when\r
- drawing geometry consisting of vertices of type\r
- S3DVertexTangents (EVT_TANGENTS). You can convert any mesh into\r
- this format using IMeshManipulator::createMeshWithTangents()\r
- (See SpecialFX2 Tutorial). This shader runs on vertex shader\r
- 1.1 and pixel shader 1.1 capable hardware and falls back to a\r
- fixed function lighted material if this hardware is not\r
- available. Only two lights are supported by this shader, if\r
- there are more, the nearest two are chosen. */\r
- EMT_NORMAL_MAP_TRANSPARENT_VERTEX_ALPHA,\r
-\r
- //! Just like EMT_NORMAL_MAP_SOLID, but uses parallax mapping.\r
- /** Looks a lot more realistic. This only works when the\r
- hardware supports at least vertex shader 1.1 and pixel shader\r
- 1.4. First texture is the color map, the second should be the\r
- normal map. The normal map texture should contain the height\r
- value in the alpha component. The\r
- IVideoDriver::makeNormalMapTexture() method writes this value\r
- automatically when creating normal maps from a heightmap when\r
- using a 32 bit texture. The height scale of the material\r
- (affecting the bumpiness) is being controlled by the\r
- SMaterial::MaterialTypeParam member. If set to zero, the\r
- default value (0.02f) will be applied. Otherwise the value set\r
- in SMaterial::MaterialTypeParam is taken. This value depends on\r
- with which scale the texture is mapped on the material. Too\r
- high or low values of MaterialTypeParam can result in strange\r
- artifacts. */\r
- EMT_PARALLAX_MAP_SOLID,\r
-\r
- //! A material like EMT_PARALLAX_MAP_SOLID, but transparent.\r
- /** Using EMT_TRANSPARENT_ADD_COLOR as base material. */\r
- EMT_PARALLAX_MAP_TRANSPARENT_ADD_COLOR,\r
-\r
- //! A material like EMT_PARALLAX_MAP_SOLID, but transparent.\r
- /** Using EMT_TRANSPARENT_VERTEX_ALPHA as base material. */\r
- EMT_PARALLAX_MAP_TRANSPARENT_VERTEX_ALPHA,\r
-\r