Documentation
¶
Index ¶
- Constants
- func Equal(a, b float32) bool
- func MergeChan[T interface{}](left chan T, right chan T, c chan T, sort func(a, b T) bool)
- func MergeSort[T any](arr []T, ch chan T, sort func(a, b T) bool)
- func ReadEvents(game *Game)
- func ReadFile(path string) primitives.Mesh
- func Sort[T interface{}](a []T, sort func(a, b T) bool) []T
- func Swap[T any](v1, v2 *T)
- type Camera
- type Event
- type EventType
- type Game
- type PipeLine
- func (pipe *PipeLine) ClipTriangles(tris []*primitives.Triangle) []*primitives.Triangle
- func (pipe PipeLine) Project(object object.Entity) []*primitives.Triangle
- func (pipe *PipeLine) RasterizeTriangles(tris []*primitives.Triangle, texture *primitives.Image)
- func (pipe PipeLine) Render(objects []*object.UObject)
- type Queue
- type QuitEvent
- type Renderer
- func (renderer *Renderer) Destroy()
- func (renderer *Renderer) DrawLine(x1, y1, x2, y2 float64, color uint32)
- func (renderer *Renderer) DrawPixel(x, y, w float64, color uint32)
- func (r *Renderer) DrawTriangle(tri *primitives.Triangle, texture *primitives.Image)
- func (r *Renderer) DrawTriangleWireframe(t *primitives.Triangle, color color.Color)
- func (renderer *Renderer) Render()
- func (renderer *Renderer) SwapTextures()
- type Signal
- type Texture
Constants ¶
View Source
const (
FOV float64 = 90.0
)
Variables ¶
This section is empty.
Functions ¶
func MergeChan ¶
func MergeChan[T interface{}](left chan T, right chan T, c chan T, sort func(a, b T) bool)
func ReadEvents ¶
func ReadEvents(game *Game)
func ReadFile ¶
func ReadFile(path string) primitives.Mesh
Types ¶
type Camera ¶
func InitCamera ¶
func InitCamera() *Camera
func (*Camera) GetDirection ¶
func (c *Camera) GetDirection() *primitives.Vector3d
func (*Camera) GetView ¶
func (camera *Camera) GetView() *primitives.Matrix4x4
type Game ¶
type Game struct {
Width int64
Height int64
Renderer *Renderer
Camera *Camera
IsRunning bool
DeltaTime time.Duration
// contains filtered or unexported fields
}
func (*Game) FrameStart ¶
func (game *Game) FrameStart()
func (*Game) HandleEvents ¶
func (game *Game) HandleEvents()
func (*Game) RunCommands ¶
func (game *Game) RunCommands()
type PipeLine ¶
func (*PipeLine) ClipTriangles ¶
func (pipe *PipeLine) ClipTriangles(tris []*primitives.Triangle) []*primitives.Triangle
func (*PipeLine) RasterizeTriangles ¶
func (pipe *PipeLine) RasterizeTriangles(tris []*primitives.Triangle, texture *primitives.Image)
type Renderer ¶
type Renderer struct {
Window *sdl.Window
ProjectionMatrix *primitives.Matrix4x4
// contains filtered or unexported fields
}
func (*Renderer) DrawTriangle ¶
func (r *Renderer) DrawTriangle(tri *primitives.Triangle, texture *primitives.Image)
func (*Renderer) DrawTriangleWireframe ¶
func (r *Renderer) DrawTriangleWireframe(t *primitives.Triangle, color color.Color)
func (*Renderer) SwapTextures ¶
func (renderer *Renderer) SwapTextures()
Click to show internal directories.
Click to hide internal directories.