func NewFloor(shader loader.Shader, reflected ...Drawable) Drawable { glctx := shader.Context() floor := NewStaticShape(glctx) floor.vertices = floorVertices floor.normals = floorNormals floor.Buffer() flipped := mgl.Scale3D(1, -1, 1) return &Floor{ Node: Node{ Shape: floor, transform: &flipped, shader: shader, }, reflected: reflected, } }
func NewSkybox(shader loader.Shader, texture gl.Texture) Drawable { glctx := shader.Context() skyboxShape := NewStaticShape(glctx) skyboxShape.vertices = skyboxVertices skyboxShape.indices = skyboxIndices skyboxShape.Buffer() skyboxShape.Texture = texture skybox := &Skybox{ Node: Node{ Shape: skyboxShape, shader: shader, }, } return skybox }