diff --git a/raylib/rlgl.go b/raylib/rlgl.go index 63881a3..2a662a1 100644 --- a/raylib/rlgl.go +++ b/raylib/rlgl.go @@ -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))