rlgl: rlSetUniform, rlSetUniformMatrix and rlSetUniformMatrices added
This commit is contained in:
parent
574299012d
commit
4c9f2e5dd7
2 changed files with 38 additions and 0 deletions
|
@ -701,6 +701,23 @@ func GetLocationAttrib(shaderId uint32, attribName string) int32 {
|
|||
return int32(C.rlGetLocationAttrib(cshaderId, cattribName))
|
||||
}
|
||||
|
||||
// SetUniform - Set shader value uniform
|
||||
func SetUniform(locIndex int32, value []float32, uniformType int32) {
|
||||
C.rlSetUniform(C.int(locIndex), unsafe.Pointer(unsafe.SliceData(value)), C.int(uniformType), C.int((len(value))))
|
||||
}
|
||||
|
||||
// SetUniformMatrix - Set shader value matrix
|
||||
func SetUniformMatrix(locIndex int32, mat Matrix) {
|
||||
cmat := (*C.Matrix)(unsafe.Pointer(&mat))
|
||||
C.rlSetUniformMatrix(C.int(locIndex), *cmat)
|
||||
}
|
||||
|
||||
// SetUniformMatrices - Set shader value matrices
|
||||
func SetUniformMatrices(locIndex int32, mat []Matrix) {
|
||||
cmat := (*C.Matrix)(unsafe.Pointer(unsafe.SliceData(mat)))
|
||||
C.rlSetUniformMatrices(C.int(locIndex), cmat, C.int(len(mat)))
|
||||
}
|
||||
|
||||
// SetUniformSampler - Set shader value sampler
|
||||
func SetUniformSampler(locIndex int32, textureId uint32) {
|
||||
clocIndex := C.int(locIndex)
|
||||
|
|
|
@ -115,6 +115,9 @@ var rlLoadShaderProgram func(vShaderId uint32, fShaderId uint32) uint32
|
|||
var rlUnloadShaderProgram func(id uint32)
|
||||
var rlGetLocationUniform func(shaderId uint32, uniformName string) int32
|
||||
var rlGetLocationAttrib func(shaderId uint32, attribName string) int32
|
||||
var rlSetUniform func(locIndex int32, value unsafe.Pointer, uniformType, count int32)
|
||||
var rlSetUniformMatrix func(locIndex int32, mat uintptr)
|
||||
var rlSetUniformMatrices func(locIndex int32, mat *Matrix, count int32)
|
||||
var rlSetUniformSampler func(locIndex int32, textureId uint32)
|
||||
var rlLoadComputeShaderProgram func(shaderID uint32) uint32
|
||||
var rlComputeShaderDispatch func(groupX uint32, groupY uint32, groupZ uint32)
|
||||
|
@ -245,6 +248,9 @@ func initRlglPurego() {
|
|||
purego.RegisterLibFunc(&rlUnloadShaderProgram, raylibDll, "rlUnloadShaderProgram")
|
||||
purego.RegisterLibFunc(&rlGetLocationUniform, raylibDll, "rlGetLocationUniform")
|
||||
purego.RegisterLibFunc(&rlGetLocationAttrib, raylibDll, "rlGetLocationAttrib")
|
||||
purego.RegisterLibFunc(&rlSetUniform, raylibDll, "rlSetUniform")
|
||||
purego.RegisterLibFunc(&rlSetUniformMatrix, raylibDll, "rlSetUniformMatrix")
|
||||
purego.RegisterLibFunc(&rlSetUniformMatrices, raylibDll, "rlSetUniformMatrices")
|
||||
purego.RegisterLibFunc(&rlSetUniformSampler, raylibDll, "rlSetUniformSampler")
|
||||
purego.RegisterLibFunc(&rlLoadComputeShaderProgram, raylibDll, "rlLoadComputeShaderProgram")
|
||||
purego.RegisterLibFunc(&rlComputeShaderDispatch, raylibDll, "rlComputeShaderDispatch")
|
||||
|
@ -812,6 +818,21 @@ func GetLocationAttrib(shaderId uint32, attribName string) int32 {
|
|||
return rlGetLocationAttrib(shaderId, attribName)
|
||||
}
|
||||
|
||||
// SetUniform - Set shader value uniform
|
||||
func SetUniform(locIndex int32, value []float32, uniformType int32) {
|
||||
rlSetUniform(locIndex, unsafe.Pointer(unsafe.SliceData(value)), uniformType, int32(len(value)))
|
||||
}
|
||||
|
||||
// SetUniformMatrix - Set shader value matrix
|
||||
func SetUniformMatrix(locIndex int32, mat Matrix) {
|
||||
rlSetUniformMatrix(locIndex, uintptr(unsafe.Pointer(&mat)))
|
||||
}
|
||||
|
||||
// SetUniformMatrices - Set shader value matrices
|
||||
func SetUniformMatrices(locIndex int32, mat []Matrix) {
|
||||
rlSetUniformMatrices(locIndex, unsafe.SliceData(mat), int32(len(mat)))
|
||||
}
|
||||
|
||||
// SetUniformSampler - Set shader value sampler
|
||||
func SetUniformSampler(locIndex int32, textureId uint32) {
|
||||
rlSetUniformSampler(locIndex, textureId)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue