played around with color, will likely stick to textures.
Some checks failed
Build Dusk / run-tests (push) Failing after 13s
Build Dusk / build-linux (push) Failing after 15s
Build Dusk / build-psp (push) Failing after 14s
Build Dusk / build-gamecube (push) Failing after 13s
Build Dusk / build-wii (push) Failing after 14s
Some checks failed
Build Dusk / run-tests (push) Failing after 13s
Build Dusk / build-linux (push) Failing after 15s
Build Dusk / build-psp (push) Failing after 14s
Build Dusk / build-gamecube (push) Failing after 13s
Build Dusk / build-wii (push) Failing after 14s
This commit is contained in:
@@ -32,6 +32,17 @@ errorret_t shaderSetMatrix(
|
||||
errorOk();
|
||||
}
|
||||
|
||||
// errorret_t shaderSetColor(
|
||||
// shader_t *shader,
|
||||
// const char_t *name,
|
||||
// color_t color
|
||||
// ) {
|
||||
// assertNotNull(shader, "Shader cannot be null");
|
||||
// assertStrLenMin(name, 1, "Uniform name cannot be empty");
|
||||
// errorChain(shaderSetColorPlatform(shader, name, color));
|
||||
// errorOk();
|
||||
// }
|
||||
|
||||
errorret_t shaderDispose(shader_t *shader) {
|
||||
assertNotNull(shader, "Shader cannot be null");
|
||||
errorChain(shaderDisposePlatform(shader));
|
||||
|
||||
@@ -71,6 +71,20 @@ errorret_t shaderSetTexture(
|
||||
texture_t *texture
|
||||
);
|
||||
|
||||
/**
|
||||
* Sets a color uniform in the shader. This is platform dependant.
|
||||
*
|
||||
* @param shader Shader to set the color in
|
||||
* @param name Name of the uniform to set
|
||||
* @param color Color to set
|
||||
* @return Error if failure, otherwise errorOk
|
||||
*/
|
||||
// errorret_t shaderSetColor(
|
||||
// shader_t *shader,
|
||||
// const char_t *name,
|
||||
// color_t color
|
||||
// );
|
||||
|
||||
/**
|
||||
* Disposes of a shader. This is platform dependant.
|
||||
*
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#define SHADER_UNLIT_PROJECTION "u_Proj"
|
||||
#define SHADER_UNLIT_VIEW "u_View"
|
||||
#define SHADER_UNLIT_MODEL "u_Model"
|
||||
// #define SHADER_UNLIT_COLOR "u_Color"
|
||||
|
||||
extern shaderdefinition_t SHADER_UNLIT_DEFINITION;
|
||||
static shader_t SHADER_UNLIT;
|
||||
@@ -203,6 +203,26 @@ errorret_t shaderSetMatrixGL(
|
||||
errorOk();
|
||||
}
|
||||
|
||||
// errorret_t shaderSetColorGL(
|
||||
// shadergl_t *shader,
|
||||
// const char_t *name,
|
||||
// color_t color
|
||||
// ) {
|
||||
// assertNotNull(shader, "Shader cannot be null");
|
||||
// assertStrLenMin(name, 1, "Uniform name cannot be empty");
|
||||
|
||||
// #ifdef DUSK_OPENGL_LEGACY
|
||||
// assertUnreachable("Cannot set colors on legacy opengl.");
|
||||
// #else
|
||||
// GLint location;
|
||||
// errorChain(shaderParamGetLocationGL(shader, name, &location));
|
||||
|
||||
// glUniform4f(location, color.r, color.g, color.b, color.a);
|
||||
// errorChain(errorGLCheck());
|
||||
// #endif
|
||||
|
||||
// errorOk();
|
||||
// }
|
||||
|
||||
errorret_t shaderBindGL(shadergl_t *shader) {
|
||||
#ifdef DUSK_OPENGL_LEGACY
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#pragma once
|
||||
#include "error/errorgl.h"
|
||||
#include "display/color.h"
|
||||
|
||||
typedef struct {
|
||||
#ifdef DUSK_OPENGL_LEGACY
|
||||
@@ -91,6 +92,34 @@ errorret_t shaderSetMatrixGL(
|
||||
mat4 matrix
|
||||
);
|
||||
|
||||
/**
|
||||
* Sets a color uniform parameter in the shader.
|
||||
*
|
||||
* @param shader The shader to update.
|
||||
* @param name The name of the uniform parameter.
|
||||
* @param color The color data to set.
|
||||
* @return An errorret_t indicating success or failure.
|
||||
*/
|
||||
// errorret_t shaderSetTextureGL(
|
||||
// shadergl_t *shader,
|
||||
// const char_t *name,
|
||||
// texture_t *texture
|
||||
// );
|
||||
|
||||
/**
|
||||
* Sets a color uniform parameter in the shader.
|
||||
*
|
||||
* @param shader The shader to update.
|
||||
* @param name The name of the uniform parameter.
|
||||
* @param color The color data to set.
|
||||
* @return An errorret_t indicating success or failure.
|
||||
*/
|
||||
// errorret_t shaderSetColorGL(
|
||||
// shadergl_t *shader,
|
||||
// const char_t *name,
|
||||
// color_t color
|
||||
// );
|
||||
|
||||
/**
|
||||
* Disposes of a shader, freeing any associated resources.
|
||||
*
|
||||
|
||||
@@ -15,4 +15,5 @@ typedef shaderdefinitiongl_t shaderdefinitionplatform_t;
|
||||
#define shaderBindPlatform shaderBindGL
|
||||
#define shaderSetMatrixPlatform shaderSetMatrixGL
|
||||
// #define shaderSetTexturePlatform shaderSetTextureGL
|
||||
// #define shaderSetColorPlatform shaderSetColorGL
|
||||
#define shaderDisposePlatform shaderDisposeGL
|
||||
@@ -14,18 +14,23 @@
|
||||
.vert =
|
||||
"#version 330 core\n"
|
||||
"layout(location = 0) in vec3 aPos;\n"
|
||||
"layout(location = 1) in vec2 aTexCoord;\n"
|
||||
"layout(location = 2) in vec4 aColor;\n"
|
||||
"uniform mat4 u_Proj;\n"
|
||||
"uniform mat4 u_View;\n"
|
||||
"uniform mat4 u_Model;\n"
|
||||
"out vec4 v_Color;\n"
|
||||
"void main() {\n"
|
||||
" gl_Position = u_Proj * u_View * u_Model * vec4(aPos, 1.0);\n"
|
||||
" v_Color = aColor;\n"
|
||||
"}\n",
|
||||
|
||||
.frag =
|
||||
"#version 330 core\n"
|
||||
"in vec4 v_Color;\n"
|
||||
"out vec4 FragColor;\n"
|
||||
"void main() {\n"
|
||||
" FragColor = vec4(1.0, 0.0, 0.0, 1.0);\n"
|
||||
" FragColor = v_Color;\n"
|
||||
"}\n"
|
||||
};
|
||||
#endif
|
||||
Reference in New Issue
Block a user