Allow passing nil to LoadShader, issue #172

This commit is contained in:
Milan Nikolic 2022-03-23 14:03:16 +01:00
parent e4777d30ee
commit b144285481
No known key found for this signature in database
GPG key ID: 9229D0EAA3AA4E75

View file

@ -24,15 +24,17 @@ func LoadShader(vsFileName string, fsFileName string) Shader {
cfsFileName := C.CString(fsFileName)
defer C.free(unsafe.Pointer(cfsFileName))
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))
cvsFileName = nil
}
if fsFileName == "" {
cfsFileName = nil
}
ret := C.LoadShader(cvsFileName, cfsFileName)
v := newShaderFromPointer(unsafe.Pointer(&ret))
return v
}
@ -44,6 +46,14 @@ func LoadShaderFromMemory(vsCode string, fsCode string) Shader {
cfsCode := C.CString(fsCode)
defer C.free(unsafe.Pointer(cfsCode))
if vsCode == "" {
cvsCode = nil
}
if fsCode == "" {
cfsCode = nil
}
ret := C.LoadShaderFromMemory(cvsCode, cfsCode)
v := newShaderFromPointer(unsafe.Pointer(&ret))