-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathtex_env.go
44 lines (36 loc) · 1012 Bytes
/
tex_env.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package osg
import (
"github.com/flywave/go-osg/model"
)
func getEnvMode(obj interface{}) interface{} {
tx := obj.(*model.TexEnv)
return &tx.Mode
}
func setEnvMode(obj interface{}, val interface{}) {
tx := obj.(*model.TexEnv)
tx.Mode = val.(int32)
}
func getEnvColor(obj interface{}) interface{} {
tx := obj.(*model.TexEnv)
return &tx.Color
}
func setEnvColor(obj interface{}, val interface{}) {
tx := obj.(*model.TexEnv)
tx.Color = val.([4]float32)
}
func init() {
fn := func() interface{} {
tg := model.NewTexEnv()
return tg
}
wrap := NewObjectWrapper("TexEnv", fn, "osg::Object osg::StateAttribute osg::TexEnv")
ser1 := NewEnumSerializer("Mode", getEnvMode, setEnvMode)
ser1.Add("DECAL", model.GLDECAL)
ser1.Add("MODULATE", model.GLMODULATE)
ser1.Add("BLEND", model.GLBLEND)
ser1.Add("REPLACE", model.GLREPLACE)
ser1.Add("ADD", model.GLADD)
wrap.AddSerializer(ser1, RWENUM)
ser2 := NewPropByRefSerializer("Color", getEnvColor, setEnvColor)
wrap.AddSerializer(ser2, RWVEC4F)
}