Working on shader stuff
This commit is contained in:
16
src/duskgl/display/shader/entityshader/entity.glsl
Normal file
16
src/duskgl/display/shader/entityshader/entity.glsl
Normal file
@ -0,0 +1,16 @@
|
||||
// Copyright (c) 2025 Dominic Masters
|
||||
//
|
||||
// This software is released under the MIT License.
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#include "../fragments/quad.glsl"
|
||||
#include "../../../../dusk/overworld/overworlddefs.h"
|
||||
|
||||
struct Entity {
|
||||
vec2 position;
|
||||
};
|
||||
|
||||
layout(std140) uniform b_Entities {
|
||||
Entity entities[OVERWORLD_ENTITY_COUNT_MAX];
|
||||
uint entityCount;
|
||||
};
|
@ -1,4 +1,10 @@
|
||||
// Copyright (c) 2025 Dominic Masters
|
||||
//
|
||||
// This software is released under the MIT License.
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#include "../fragments/header.glsl"
|
||||
#include "entity.glsl"
|
||||
|
||||
// Inputs from vertex shader
|
||||
in vec2 v_TextureCoord;
|
||||
|
@ -1,6 +1,12 @@
|
||||
// Copyright (c) 2025 Dominic Masters
|
||||
//
|
||||
// This software is released under the MIT License.
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#include "../fragments/header.glsl"
|
||||
#include "../fragments/transforms.glsl"
|
||||
#include "../fragments/quad.glsl"
|
||||
#include "entity.glsl"
|
||||
|
||||
// Outputs to fragment shader
|
||||
out vec2 v_TextureCoord;
|
||||
|
@ -10,7 +10,7 @@
|
||||
#include "entityshader.h"
|
||||
#include "entity_vert.glsl.h"
|
||||
#include "entity_frag.glsl.h"
|
||||
#include "display/shader/fragments/transforms.h"
|
||||
#include "display/shader/data/transforms.h"
|
||||
|
||||
entityshader_t ENTITY_SHADER;
|
||||
|
||||
@ -30,11 +30,13 @@ void entityShaderInit() {
|
||||
);
|
||||
|
||||
// Uniforms
|
||||
|
||||
// Bind
|
||||
shaderBufferBindToBlock(&TRANSFORMS_BUFFER, ENTITY_SHADER.transformsBlock);
|
||||
}
|
||||
|
||||
void entityShaderUse() {
|
||||
shaderUse(&ENTITY_SHADER.shader);
|
||||
shaderBufferBindToBlock(&TRANSFORMS_BUFFER, ENTITY_SHADER.transformsBlock);
|
||||
}
|
||||
|
||||
void entityShaderDispose() {
|
||||
|
@ -11,7 +11,7 @@
|
||||
typedef struct {
|
||||
shader_t shader;
|
||||
|
||||
// GLuint dataBlock;
|
||||
GLuint entitiesBlock;
|
||||
GLuint transformsBlock;
|
||||
// GLuint tilesetsBlock;
|
||||
|
||||
|
Reference in New Issue
Block a user