Documentation ¶
Overview ¶
Package resources handles the managing of assets such as images and shaders.
Index ¶
Constants ¶
View Source
const ( // ComponentTypeShader represents a shaders components type. ComponentTypeShader = "shader" // CameraUniform is the expected name of view matrix uniform in the shader. CameraUniform = "camera" // ProjectionUniform is the expected name of the projection matrix uniform in the shader. ProjectionUniform = "projection" // ModelUniform is the expected name of the model matrix uniform in the shader. ModelUniform = "model" // TextureUniform is the expected name of the texture uniform in the shader. TextureUniform = "tex" // VertexAttribute is the expected name of the vertex data attribute in the shader. VertexAttribute = "vert" // VertexTexCordAttribute is the expected name of the vertex texture coordinates attribute in the shader. VertexTexCordAttribute = "vertTexCoord" // ShaderOutputColor is the expected name of the output color variable leaving the fragment shader. ShaderOutputColor = "outputColor" )
View Source
const (
// ShaderSrcDir lists the expected location of shaders
ShaderSrcDir = "assets/shaders/"
)
View Source
const (
// TextureSrcDir is the expected location of textures
TextureSrcDir = "assets/textures/"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager manages engine resources.
func NewManager ¶
func NewManager() *Manager
NewManager creates a new Manager to handle shader and texture assets.
func (*Manager) Shaders ¶
func (am *Manager) Shaders() ShaderManager
Shaders retrieves the ShaderManager.
func (*Manager) Textures ¶
func (am *Manager) Textures() TextureManager
Textures retrieves the TextureManager.
type Shader ¶
type Shader interface { // GetUniformLoc retrieves the shader location of the specified uniform. GetUniformLoc(name string) int32 // GetAttribLoc retrieves the shader location of a the specified attribute. GetAttribLoc(name string) uint32 // GetName retrieves the name of the shader program. GetName() string // ProgramID retrieves the program id of the shader program. ProgramID() uint32 // CreateVAO loads the mesh data onto the gpu. CreateVAO(components.Mesh) uint32 }
Shader represents the behaviors needed to access a shader and its variables.
type ShaderManager ¶
type ShaderManager interface { // LoadProgramFromFile creates a shader program from a vertex and fragment shader source files. LoadProgramFromFile(vertSrcFile string, fragSrcFile string, shouldBeDefault bool) (Shader, error) // LoadProgramFromSrc creates a shader program from a vertex and fragment shader source strings. LoadProgramFromSrc(vertSrc string, fragSrc string, name string, shouldBeDefault bool) (Shader, error) // GetShader returns a program id if the shader program was loaded. GetShader(key string) (Shader, bool) // GetShaderProgram returns the Shader interface with information about the opengl shader. GetShaderProgram(id uint32) (Shader, bool) // GetDefaultShader returns the name of the default shader. GetDefaultShader() uint32 }
ShaderManager interface is used to interact with the shaderManager.
type TextureManager ¶
type TextureManager interface { // LoadTexture loads a png file into an opengl texture and returns the texture id. LoadTexture(filePath string, key string) (uint32, error) // GetTexture returns a texture id if the texture was loaded. GetTexture(key string) (texture uint32, isFound bool) }
TextureManager interface is used to interact with a textureManager
Click to show internal directories.
Click to hide internal directories.