OGLSurfaceNormalMapShader (object)

バージョン 1.12.0 で追加.

The OGLSurfaceNormalMapShader inherits the OGLInlineShader. It extends the OGLInlineShader for shading with a simple phong model using a texture for the diffuse and performing normal mapping.

Uniforms

Name Type Description Default
u_light0Position Vec3 Position of the first light Position of the camera
u_light0Color Color Color of the first light Color(1.0, 1.0, 1.0)
u_ambientColor Color Ambient color component Color(0.05, 0.05, 0.05)
u_diffuseColor Color Diffuse color component Color(1.0, 1.0, 1.0)
u_specularColor Color Specular color component Color(0.2, 0.2, 0.2)
u_specularFactor Color Specular distribution factor 16.0
u_diffuseTexture Texture Texture used for the diffuse null
u_normalsTexture Texture Texture used for the normals null
u_mirrorU Integer Flag toggle a flip of the U component 0
u_mirrorV Integer Flag toggle a flip of the V component 1
u_bumpStrength Scalar Determines the strength of the bump 1.0

Attributes

Name Type Description
positions Vec3 Geometry positions
normals Vec3 Geometry normals
tangents Vec3 Geometry tangents
uvs0 Vec2 UV set

OGLSurfaceNormalMapShader OGLSurfaceNormalMapShader OGLSurfaceNormalMapShader OGLInlineShader OGLInlineShader OGLSurfaceNormalMapShader->OGLInlineShader InlineEntityBase InlineEntityBase OGLInlineShader->InlineEntityBase InlineShader InlineShader OGLInlineShader->InlineShader InlineEntity InlineEntity InlineEntityBase->InlineEntity

/*
** Example: OGLSurfaceNormalMapShader
*/

require InlineDrawing;
  
operator entry() {

  InlineDrawing draw = OGLInlineDrawing();
  InlineShader shader = draw.registerShader(OGLSurfaceNormalMapShader);
  InlineMaterial mat = shader.getOrCreateMaterial('normalMap');
  InlineTexture diffuseTexture = draw.registerTexture(InlineFileBasedTexture('diffuse.png'));
  InlineTexture normalsTexture = draw.registerTexture(InlineFileBasedTexture('normal.png'));
  mat.setUniform('u_diffuseTexture', diffuseTexture);
  mat.setUniform('u_normalsTexture', normalsTexture);
  
}

/*
** Output:


*/

Methods in detail

OGLSurfaceNormalMapShader ( in OGLSurfaceNormalMapShader other )

copy constructor


OGLSurfaceNormalMapShader ( in String name )

default constructor taking a name


OGLSurfaceNormalMapShader ()

default constructor


OGLSurfaceNormalMapShader OGLSurfaceNormalMapShader.clone? ()

clone method


OGLSurfaceNormalMapShader.init! ( in String name )

default constructor taking a name