OGLSurfaceVertexColorShader (object)

バージョン 1.12.0 で追加.

The OGLSurfaceVertexColorShader inherits the OGLInlineShader. It extends the OGLInlineShader for shading with a simple phong model, using the vertexColors attribute for the diffuse.

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_normalIsTangent Integer Flag defining normal type 0
u_doubleSided Integer Flag defining backface shading model 0

Attributes

Name Type Description
positions Vec3 Geometry positions
normals Vec3 Geometry normals
vertexColors Color Color per vertex

OGLSurfaceVertexColorShader OGLSurfaceVertexColorShader OGLSurfaceVertexColorShader OGLSurfaceShader OGLSurfaceShader OGLSurfaceVertexColorShader->OGLSurfaceShader OGLInlineShader OGLInlineShader OGLSurfaceShader->OGLInlineShader InlineEntityBase InlineEntityBase OGLInlineShader->InlineEntityBase InlineShader InlineShader OGLInlineShader->InlineShader InlineEntity InlineEntity InlineEntityBase->InlineEntity

/*
** Example: OGLSurfaceVertexColorShader
*/

require InlineDrawing;
  
operator entry() {

  InlineDrawing draw = OGLInlineDrawing();
  InlineShader shader = draw.registerShader(OGLSurfaceVertexColorShader);
  InlineMaterial mat = shader.getOrCreateMaterial('blueSpecular');
  mat.setUniform('u_specularColor', Color(0.0, 0.0, 1.0));
  
}

/*
** Output:


*/

Methods in detail

OGLSurfaceVertexColorShader ( in OGLSurfaceVertexColorShader other )

copy constructor


OGLSurfaceVertexColorShader ( in String name )

default constructor taking a name


OGLSurfaceVertexColorShader ()

default constructor


OGLSurfaceVertexColorShader OGLSurfaceVertexColorShader.clone? ()

clone method