Fix shaders

This commit is contained in:
Milan Nikolic 2017-11-14 13:24:06 +01:00
parent 4ecc34b892
commit 645c0ab713
14 changed files with 518 additions and 40 deletions

View file

@ -97,12 +97,20 @@ func NewShaderFromPointer(ptr unsafe.Pointer) Shader {
// LoadShader - Load a custom shader and bind default locations
func LoadShader(vsFileName string, fsFileName string) Shader {
cvsFileName := C.CString(vsFileName)
cfsFileName := C.CString(fsFileName)
defer C.free(unsafe.Pointer(cvsFileName))
cfsFileName := C.CString(fsFileName)
defer C.free(unsafe.Pointer(cfsFileName))
ret := C.LoadShader(cvsFileName, cfsFileName)
v := NewShaderFromPointer(unsafe.Pointer(&ret))
var v Shader
if vsFileName == "" {
ret := C.LoadShader(nil, cfsFileName)
v = NewShaderFromPointer(unsafe.Pointer(&ret))
} else {
ret := C.LoadShader(cvsFileName, cfsFileName)
v = NewShaderFromPointer(unsafe.Pointer(&ret))
}
return v
}