Documentation
¶
Overview ¶
Package renderer implements the scene renderer.
Index ¶
Constants ¶
const GLSL_VERSION = "330 core"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Renderer ¶
type Renderer struct {
Shaman // Embedded shader manager
// contains filtered or unexported fields
}
Renderer renders a scene containing 3D objects and/or 2D GUI elements.
func NewRenderer ¶
NewRenderer creates and returns a pointer to a new Renderer.
func (*Renderer) ObjectSorting ¶
ObjectSorting returns whether objects will be sorted before rendering.
func (*Renderer) Render ¶
Render renders the specified scene using the specified camera. Returns an error.
func (*Renderer) SetObjectSorting ¶
SetObjectSorting sets whether objects will be sorted before rendering.
type ShaderSpecs ¶
type ShaderSpecs struct {
Name string // Shader name
UseLights material.UseLights // Bitmask indicating which lights to consider
AmbientLightsMax int // Number of ambient lights
DirLightsMax int // Number of directional lights
PointLightsMax int // Number of point lights
SpotLightsMax int // Number of spot lights
MatTexturesMax int // Number of material textures
MaterialDefines gls.MaterialDefines // Additional shader defines
GeometryDefines gls.GeometryDefines // Additional shader defines
GraphicDefines gls.GraphicDefines // Additional shader defines
}
ShaderSpecs describes the specification of a compiled shader program.
type Shaman ¶
type Shaman struct {
// contains filtered or unexported fields
}
Shaman is the shader manager.
func (*Shaman) AddShaders ¶ added in v0.2.104
func (sm *Shaman) AddShaders()
AddShaders adds registered shaders and programs to the Shaman.
func (*Shaman) SetProgram ¶
func (sm *Shaman) SetProgram(specs ShaderSpecs) (bool, error)
SetProgram sets the shader program to satisfy the specs.
Returns whether this is the first time this program was activated this frame and an error if one occurred.
type Stats ¶
type Stats struct {
GraphicMats int // Number of graphic materials rendered
Lights int // Number of lights rendered
Panels int // Number of GUI panels rendered
Others int // Number of other objects rendered
}
Stats describes how many objects of each type are being rendered. It is cleared at the start of each render.