InternalCreates a new DrawTechnique.
When true, the technique binds silhouette-related uniforms using "edge" material settings (edgeColor/edgeAlpha) instead of fill settings (fillColor/fillAlpha).
Used by silhouette-like techniques that can render both filled silhouettes and edge silhouettes.
Compilation errors encountered during program initialization.
Available after init() is called.
Fragment shader source code with comments included.
Note that comments are not supported in WebGL shader compilation, so this is for debugging/inspection purposes only.
Available after init() is called.
Fragment shader source code. Available after init() is called.
When true, the technique binds uniforms for picking rendering (e.g., pickZNear/pickZFar) and uses picking-specific draw ranges from the batch's view data textures.
Used by the pick rendering pass to render meshes with unique pick colors and output depth for picking.
Vertex shader source code with comments included.
Note that comments are not supported in WebGL shader compilation, so this is for debugging/inspection purposes only.
Available after init() is called.
Vertex shader source code. Available after init() is called.
ProtectedbuildAbstract method to build the fragment shader source code.
Subclasses must implement this method to define the fragment shader logic
based on their specific rendering requirements.
Called during init().
ProtectedbuildAbstract method to build the vertex shader source code.
Subclasses must implement this method to define the fragment shader logic
based on their specific rendering requirements.
Called during init().
Destroys the shader program and cleans up resources.
ProtectedfragmentInserts a line of custom vertex shader code into the generated vertex shader source.
ProtectedfsProtectedGenerates fragment shader common definitions.
ProtectedfsProtectedGenerates fragment shader logic for common output.
ProtectedfsProtectedGenerates fragment shader defines for depth rendering.
ProtectedfsProtectedGenerates fragment shader logic for depth rendering.
ProtectedfsProtectedGenerates fragment shader defines for flat-shaded color rendering.
ProtectedfsProtectedGenerates fragment shader logic for flat-shaded color rendering.
ProtectedfsProtectedGenerates fragment shader defines for screen-space ambient occlusion (SAO).
ProtectedfsProtectedGenerates fragment shader logic for screen-space ambient occlusion (SAO).
ProtectedfsProtectedGenerates the fragment shader header.
ProtectedfsProtectedGenerates fragment shader defines for Lambert shading.
ProtectedfsProtectedGenerates fragment shader logic for Lambert shading.
ProtectedfsProtectedGenerates the closing of the fragment shader main function.
ProtectedfsProtectedGenerates the opening of the fragment shader main function.
ProtectedfsProtectedGenerates fragment shader defines for pick rendering.
ProtectedfsProtectedGenerates fragment shader logic for pick rendering.
ProtectedfsProtectedGenerates fragment shader defines for point rendering.
ProtectedfsProtectedGenerates fragment shader logic for point rendering.
ProtectedfsProtectedGenerates fragment shader precision definitions.
ProtectedfsProtectedGenerates fragment shader defines for silhouette rendering.
ProtectedfsProtectedGenerates fragment shader logic for silhouette rendering.
ProtectedfsProtectedGenerates fragment shader defines for slicing (section planes).
ProtectedfsProtectedGenerates fragment shader logic for slicing (section planes).
Initializes this draw technique by building and compiling the shader program.
Calls the abstract methods buildVertexShader and buildFragmentShader to generate the shader sources, then compiles the program and retrieves uniform/sampler locations.
ProtectedvsInserts a line of custom vertex shader code into the generated vertex shader source.
ProtectedvsGenerates vertex shader precision definitions and common definitions.
ProtectedvsGenerates a simple internal vertex shader main function.
ProtectedvsProtectedGenerates vertex shader definitions for depth rendering.
ProtectedvsProtectedGenerates vertex shader logic for depth rendering.
ProtectedvsProtectedGenerates vertex shader definitions for flat color rendering.
ProtectedvsProtectedGenerates vertex shader logic for flat color rendering.
ProtectedvsProtectedGenerates the opening of the vertex shader main function for draw rendering.
ProtectedvsProtectedGenerates vertex shader definitions for vertex color rendering.
ProtectedvsProtectedGenerates vertex shader logic for vertex color rendering.
ProtectedvsGenerates the vertex shader header.
ProtectedvsProtectedGenerates vertex shader definitions for Lambert shading.
Optionalsilhouette: booleanProtectedvsOptionalsilhouette: booleanProtectedvsProtectedGenerates the closing of the vertex shader main function.
ProtectedvsProtectedGenerates the opening of the vertex shader main function.
ProtectedvsProtectedGenerates the opening of the vertex shader main function for pick rendering.
ProtectedvsProtectedGenerates vertex shader definitions for pick rendering.
ProtectedvsProtectedGenerates vertex shader logic for pick rendering.
ProtectedvsProtectedGenerates vertex shader definitions for point rendering.
ProtectedvsProtectedGenerates vertex shader logic for point size and intensity filtering.
ProtectedvsProtectedGenerates vertex shader logic for point size and intensity filtering.
ProtectedvsProtectedGenerates vertex shader logic for point size calculation.
ProtectedvsProtectedGenerates vertex shader definitions for silhouette rendering.
ProtectedvsProtectedGenerates vertex shader logic for silhouette rendering.
ProtectedvsProtectedGenerates vertex shader definitions for slicing (section planes).
ProtectedvsProtectedGenerates vertex shader logic for slicing (section planes).
Notifies draw technique that the WebGL context has been lost.
Notifies draw technique that the WebGL context has been restored.
This allows the technique to recreate its shaders after context loss.
Result indicating success or failure.
Draw technique for rendering generic pick depth.