renderer

package
v0.0.0-...-1b01b04 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 24, 2024 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LoadTexture

func LoadTexture(file string) (uint32, error)

Types

type BlockRenderer

type BlockRenderer struct {
	// contains filtered or unexported fields
}

func NewBlockRenderer

func NewBlockRenderer() *BlockRenderer

func (*BlockRenderer) AddCube

func (r *BlockRenderer) AddCube(cube primitive.Cube)

func (*BlockRenderer) Render

func (r *BlockRenderer) Render()

func (*BlockRenderer) SetCamera

func (r *BlockRenderer) SetCamera(camera Camera)

func (*BlockRenderer) SetMessageBus

func (r *BlockRenderer) SetMessageBus(bus message.MessageBus)

func (*BlockRenderer) SetWindow

func (r *BlockRenderer) SetWindow(window Window)

func (*BlockRenderer) ToggleWireframe

func (r *BlockRenderer) ToggleWireframe()

type Camera

type Camera interface {
	GetViewMatrix() mgl32.Mat4
	GetProjectionMatrix() mgl32.Mat4
	GetPosition() mgl32.Vec3
	GetDirection() mgl32.Vec3
}

type ChunkRenderer

type ChunkRenderer struct {
	// contains filtered or unexported fields
}

func NewChunkRenderer

func NewChunkRenderer(position mgl32.Vec3) *ChunkRenderer

func (*ChunkRenderer) Render

func (r *ChunkRenderer) Render()

func (*ChunkRenderer) SetBlock

func (r *ChunkRenderer) SetBlock(x, y, z int, cube primitive.Cube)

func (*ChunkRenderer) SetCamera

func (r *ChunkRenderer) SetCamera(camera Camera)

func (*ChunkRenderer) SetMessageBus

func (r *ChunkRenderer) SetMessageBus(bus message.MessageBus)

func (*ChunkRenderer) SetWindow

func (r *ChunkRenderer) SetWindow(window Window)

func (*ChunkRenderer) ToggleWireframe

func (r *ChunkRenderer) ToggleWireframe()

type CubeMesher

type CubeMesher struct {
	// contains filtered or unexported fields
}

func NewCubeMesher

func NewCubeMesher() *CubeMesher

func (*CubeMesher) Bind

func (m *CubeMesher) Bind()

func (*CubeMesher) CreateMesh

func (m *CubeMesher) CreateMesh(cubes []primitive.Cube)

func (*CubeMesher) Draw

func (m *CubeMesher) Draw()

func (*CubeMesher) EnableBackfaceCulling

func (m *CubeMesher) EnableBackfaceCulling()

func (*CubeMesher) GetMesh

func (m *CubeMesher) GetMesh() ([]float32, []uint32)

func (*CubeMesher) String

func (m *CubeMesher) String() string

func (*CubeMesher) Unbind

func (m *CubeMesher) Unbind()

type GreedyMesher

type GreedyMesher struct {
	// contains filtered or unexported fields
}

func NewGreedyMesher

func NewGreedyMesher() *GreedyMesher

func (*GreedyMesher) Bind

func (m *GreedyMesher) Bind()

func (*GreedyMesher) CreateMesh

func (m *GreedyMesher) CreateMesh(cubes []primitive.Cube)

func (*GreedyMesher) Draw

func (m *GreedyMesher) Draw()

func (*GreedyMesher) EnableBackfaceCulling

func (m *GreedyMesher) EnableBackfaceCulling()

func (*GreedyMesher) GetMesh

func (m *GreedyMesher) GetMesh() ([]float32, []uint32)

func (*GreedyMesher) String

func (m *GreedyMesher) String() string

func (*GreedyMesher) Unbind

func (m *GreedyMesher) Unbind()

type MeshRenderer

type MeshRenderer struct {
	// contains filtered or unexported fields
}

func NewMeshRenderer

func NewMeshRenderer(mesher Mesher) *MeshRenderer

func (*MeshRenderer) AddCube

func (r *MeshRenderer) AddCube(cube primitive.Cube)

func (*MeshRenderer) Render

func (r *MeshRenderer) Render()

func (*MeshRenderer) SetCamera

func (r *MeshRenderer) SetCamera(camera Camera)

func (*MeshRenderer) SetMessageBus

func (r *MeshRenderer) SetMessageBus(m message.MessageBus)

func (*MeshRenderer) SetShaderUniforms

func (r *MeshRenderer) SetShaderUniforms()

func (*MeshRenderer) SetWindow

func (r *MeshRenderer) SetWindow(window Window)

func (*MeshRenderer) ToggleWireframe

func (r *MeshRenderer) ToggleWireframe()

type Mesher

type Mesher interface {
	CreateMesh(cubes []primitive.Cube)
	Bind()
	Unbind()
	Draw()
	GetMesh() ([]float32, []uint32)
	String() string
}

type Renderer

type Renderer interface {
	Render()
	SetCamera(camera Camera)
	SetWindow(window Window)
	SetMessageBus(m message.MessageBus)
}

type Window

type Window interface {
	GetSize() (int, int)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL