Interface IDhApiGenericObjectShaderProgram

All Superinterfaces:
IBindable, IDhApiOverrideable

public interface IDhApiGenericObjectShaderProgram extends IDhApiOverrideable
Since:
API 3.0.0
See Also:
  • Method Details

    • overrideThisFrame

      boolean overrideThisFrame()
      If this method is called that means this program has the highest priority as defined by IDhApiOverrideable.getPriority() and gets to decide if it wants to be used to render this frame or not.

      If this method returns true then this program will be used for this frame.
      If this returns false then the default DH IDhApiGenericObjectShaderProgram will be used instead.
    • getId

      int getId()
      Returns:
      the OpenGL ID for this shader program
    • free

      void free()
      Free any OpenGL objects owned by this program.
    • bind

      void bind(DhApiRenderParam renderEventParam)
      Runs any necessary binding this program needs so rendering can be done.
    • unbind

      void unbind()
      Runs any necessary unbinding this program needs so rendering can be done by another program.
    • bindVertexBuffer

      void bindVertexBuffer(int vbo)
      Binds the given Vertex Buffer Object to this shader program for rendering.
    • fillIndirectUniformData

      void fillIndirectUniformData(DhApiRenderParam renderParameters, DhApiRenderableBoxGroupShading shading, IDhApiRenderableBoxGroup boxGroup, DhApiVec3d camPos)
      sets up the necessary uniforms for rendering
    • fillSharedDirectUniformData

      void fillSharedDirectUniformData(DhApiRenderParam renderParameters, DhApiRenderableBoxGroupShading shading, IDhApiRenderableBoxGroup boxGroup, DhApiVec3d camPos)
      sets up the necessary uniforms for rendering
    • fillDirectUniformData

      void fillDirectUniformData(DhApiRenderParam renderParameters, IDhApiRenderableBoxGroup boxGroup, DhApiRenderableBox box, DhApiVec3d camPos)