INNER CODE UNIT · Go
NewSpotLightMesh
g3n/g3nd · util/lightmesh.go:49
func NewSpotLightMesh(color *math32.Color) *SpotLightMesh {
l := new(SpotLightMesh)
geom := geometry.NewCone(0.3, 0.5, 16, 1, true)
mat1 := material.NewStandard(color)
mat2 := material.NewStandard(color)
mat2.SetEmissiveColor(color)
l.Mesh = graphic.NewMesh(geom, nil)
l.Mesh.AddGroupMaterial(mat1, 0)
l.Mesh.AddGroupMaterial(mat2, 1)
l.Light = light.NewSpot(color, 2.0)
l.Light.SetDirection(0, -1, 0)
l.Light.SetCutoffAngle(45)
l.Light.SetLinearDecay(0)
l.Light.SetQuadraticDecay(0)