Class RenderFactory


  • public abstract class RenderFactory
    extends java.lang.Object
    RenderFactory creates all resources that represented in rendering pipeline.
    • Constructor Detail

      • RenderFactory

        public RenderFactory()
    • Method Detail

      • createRenderTexture

        public abstract IRenderTexture createRenderTexture​(RenderParameters parameters,
                                                           int targets,
                                                           int width,
                                                           int height)
        Create a render target that renders to the texture
        Parameters:
        parameters - Render parameters to create the render texture
        targets - How many color output targets
        width - The width of the render texture
        height - The height of the render texture
      • createRenderTexture

        public abstract IRenderTexture createRenderTexture​(RenderParameters parameters,
                                                           int width,
                                                           int height)
        Create a render target contains 1 targets that renders to the texture
        Parameters:
        parameters - Render parameters to create the render texture
        width - The width of the render texture
        height - The height of the render texture
      • createDescriptorSet

        public abstract IDescriptorSet createDescriptorSet​(ShaderProgram shader)
        Create the descriptor set for specified shader program.
        Parameters:
        shader - The shader program
        Returns:
        A new descriptor set instance
      • createCubeRenderTexture

        public abstract IRenderTexture createCubeRenderTexture​(RenderParameters parameters,
                                                               int width,
                                                               int height)
        Create a render target contains 1 cube texture
        Parameters:
        parameters - Render parameters to create the render texture
        width - The width of the render texture
        height - The height of the render texture
      • createRenderWindow

        public abstract IRenderWindow createRenderWindow​(RenderParameters parameters,
                                                         WindowHandle handle)
        Create a render target that renders to the native window.
        Parameters:
        parameters - Render parameters to create the render window
        handle - The handle of the window to render
      • createIndexBuffer

        public abstract IIndexBuffer createIndexBuffer()
        Create an IIndexBuffer instance to store polygon's face information.
      • createTextureUnit

        public abstract ITextureUnit createTextureUnit​(TextureType textureType)
        Create a texture unit that can be accessed by shader.
        Parameters:
        textureType - Type of the texture
      • createTextureUnit

        public ITextureUnit createTextureUnit()
        Create a 2D texture unit that can be accessed by shader.
      • createShaderProgram

        public abstract ShaderProgram createShaderProgram​(ShaderSource shaderSource)
        Create a ShaderProgram object
        Parameters:
        shaderSource - The source code of the shader
      • createPipeline

        public abstract IPipeline createPipeline​(ShaderProgram shader,
                                                 RenderState renderState,
                                                 VertexDeclaration vertexDeclaration,
                                                 DrawOperation drawOperation)
        Create a preconfigured graphics pipeline with preconfigured shader/render state/vertex declaration and draw operations.
        Parameters:
        shader - The shader used in the rendering
        renderState - The render state used in the rendering
        vertexDeclaration - The vertex declaration of input vertex data
        drawOperation - Draw operation
        Returns:
        A new pipeline instance
      • createUniformBuffer

        public abstract IBuffer createUniformBuffer​(int size)
        Create a new uniform buffer in GPU side with pre-allocated size.
        Parameters:
        size - The size of the uniform buffer
        Returns:
        The uniform buffer instance