Removed shader, added 3D rendering (no demo yet, coming next), started bitmap font rendering, a few fixes and improvements.

This commit is contained in:
Marvin Blum
2016-05-07 20:26:36 +02:00
parent 1d974566de
commit 139e668233
15 changed files with 809 additions and 106 deletions

View File

@@ -15,19 +15,6 @@ type Sprite struct {
*Tex
}
// The sprite renderer is a system rendering sprites.
// It has a 2D position componente, to move all sprites at once.
type SpriteRenderer struct {
Pos2D
Shader *Shader
Camera *Camera
sprites []Sprite
index, vertex, texCoord *VBO
vao *VAO
}
// Creates a new sprite with given texture.
func NewSprite(tex *Tex) *Sprite {
sprite := &Sprite{}
@@ -43,6 +30,19 @@ func NewSprite(tex *Tex) *Sprite {
return sprite
}
// The sprite renderer is a system rendering sprites.
// It has a 2D position component, to move all sprites at once.
type SpriteRenderer struct {
Pos2D
Shader *Shader
Camera *Camera
sprites []Sprite
index, vertex, texCoord *VBO
vao *VAO
}
// Creates a new sprite renderer using given shader and camera.
// If shader and/or camera are nil, the default one will be used.
func NewSpriteRenderer(shader *Shader, camera *Camera, flip bool) *SpriteRenderer {
@@ -132,7 +132,7 @@ func (s *SpriteRenderer) GetName() string {
return sprite_renderer_name
}
// Renders sprites.
// Render sprites.
func (s *SpriteRenderer) Update(delta float64) {
s.Shader.Bind()
s.Shader.SendMat3(Default_shader_2D_ortho, *MultMat3(s.Camera.CalcOrtho(), s.CalcModel()))
@@ -147,6 +147,7 @@ func (s *SpriteRenderer) Update(delta float64) {
s.Shader.SendMat3(Default_shader_2D_model, *s.sprites[i].CalcModel())
// prevent texture switching when not neccessary
if tid != s.sprites[i].Tex.GetId() {
tid = s.sprites[i].Tex.GetId()
s.sprites[i].Tex.Bind()