mirror of https://github.com/bjornbytes/lovr.git
ShaderBlock:isWritable;
This commit is contained in:
parent
70b27bd846
commit
e3e17bc84c
|
@ -8,6 +8,12 @@ int l_lovrShaderBlockGetSize(lua_State* L) {
|
|||
return 1;
|
||||
}
|
||||
|
||||
int l_lovrShaderBlockIsWritable(lua_State* L) {
|
||||
ShaderBlock* block = luax_checktype(L, 1, ShaderBlock);
|
||||
lua_pushboolean(L, lovrShaderBlockGetType(block) == BLOCK_STORAGE);
|
||||
return 1;
|
||||
}
|
||||
|
||||
int l_lovrShaderBlockSend(lua_State* L) {
|
||||
ShaderBlock* block = luax_checktype(L, 1, ShaderBlock);
|
||||
const char* name = luaL_checkstring(L, 2);
|
||||
|
@ -20,6 +26,7 @@ int l_lovrShaderBlockSend(lua_State* L) {
|
|||
|
||||
const luaL_Reg lovrShaderBlock[] = {
|
||||
{ "getSize", l_lovrShaderBlockGetSize },
|
||||
{ "isWritable", l_lovrShaderBlockIsWritable },
|
||||
{ "send", l_lovrShaderBlockSend },
|
||||
{ NULL, NULL }
|
||||
};
|
||||
|
|
|
@ -1700,6 +1700,10 @@ size_t lovrShaderBlockGetSize(ShaderBlock* block) {
|
|||
return block->size;
|
||||
}
|
||||
|
||||
BlockType lovrShaderBlockGetType(ShaderBlock* block) {
|
||||
return block->type;
|
||||
}
|
||||
|
||||
const Uniform* lovrShaderBlockGetUniform(ShaderBlock* block, const char* name) {
|
||||
int* index = map_get(&block->uniformMap, name);
|
||||
if (!index) return NULL;
|
||||
|
|
|
@ -75,6 +75,7 @@ void lovrShaderSetBlock(Shader* shader, const char* name, ShaderBlock* block);
|
|||
ShaderBlock* lovrShaderBlockCreate(vec_uniform_t* uniforms, BlockType type, BufferUsage usage);
|
||||
void lovrShaderBlockDestroy(void* ref);
|
||||
size_t lovrShaderBlockGetSize(ShaderBlock* block);
|
||||
BlockType lovrShaderBlockGetType(ShaderBlock* block);
|
||||
const Uniform* lovrShaderBlockGetUniform(ShaderBlock* block, const char* name);
|
||||
void* lovrShaderBlockMap(ShaderBlock* block);
|
||||
void lovrShaderBlockUnmap(ShaderBlock* block);
|
||||
|
|
Loading…
Reference in New Issue