diff options
author | chai <chaifix@163.com> | 2019-12-05 09:21:26 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2019-12-05 09:21:26 +0800 |
commit | 8e684dc0c76708e3174f005aebcaabc144b85500 (patch) | |
tree | d7803e49ee1fdb5575128114d19499787f870c00 /src/core/shader.h | |
parent | 2e82e2ddd0852b8063a3d6645366f53ee844e273 (diff) |
*鑳岄潰鍓旈櫎
Diffstat (limited to 'src/core/shader.h')
-rw-r--r-- | src/core/shader.h | 32 |
1 files changed, 15 insertions, 17 deletions
diff --git a/src/core/shader.h b/src/core/shader.h index 8da8ae3..15dfc26 100644 --- a/src/core/shader.h +++ b/src/core/shader.h @@ -18,10 +18,10 @@ typedef struct UniformCollection { Vec2 var_vec2[8]; } UniformCollection; -#define ssrum4(i) (uniforms->var_mat4[i]) -#define ssruv2(i) (uniforms->var_vec2[i]) -#define ssruv3(i) (uniforms->var_vec3[i]) -#define ssruv4(i) (uniforms->var_vec4[i]) +#define UM4(i) (&uniforms->var_mat4[i]) +#define UV2(i) (&uniforms->var_vec2[i]) +#define UV3(i) (&uniforms->var_vec3[i]) +#define UV4(i) (&uniforms->var_vec4[i]) typedef struct VertexShaderIn { Vert* vertex; @@ -46,6 +46,11 @@ void ssrS_bcpvec2(Vec3* bc, Vec2* A, Vec2* B, Vec2* C, Vec2* out); void ssrS_bcpvec3(Vec3* bc, Vec3* A, Vec3* B, Vec3* C, Vec3* out); void ssrS_bcpvec4(Vec3* bc, Vec4* A, Vec4* B, Vec4* C, Vec4* out); +void ssrS_lerpcolor(float t, Color A, Color B, Color* out); +void ssrS_lerpvec2(float t, Vec2* A, Vec2* B, Vec2* out); +void ssrS_lerpvec3(float t, Vec3* A, Vec3* B, Vec3* out); +void ssrS_lerpvec4(float t, Vec4* A, Vec4* B, Vec4* out); + /* ** 顶点数据外,还提供额外的寄存器 */ @@ -65,19 +70,12 @@ typedef struct Register { }; } Register; -void ssrS_setregvec4_01i(uint idx, Vec4* value); -void ssrS_setregvec4_02i(uint idx, Vec4* value); -void ssrS_setregvec2_01i(uint idx, Vec2* value); -void ssrS_setregvec2_02i(uint idx, Vec2* value); -void ssrS_setregvec3_01i(uint idx, Vec3* value); -void ssrS_setregvec3_02i(uint idx, Vec3* value); - -Vec4* ssrS_getregvec4_01i(uint idx); -Vec4* ssrS_getregvec4_02i(uint idx); -Vec2* ssrS_getregvec2_01i(uint idx); -Vec2* ssrS_getregvec2_02i(uint idx); -Vec3* ssrS_getregvec3_01i(uint idx); -Vec3* ssrS_getregvec3_02i(uint idx); +void ssrS_setregvec4_01(Vert* vert, Vec4* value); +void ssrS_setregvec4_02(Vert* vert, Vec4* value); +void ssrS_setregvec2_01(Vert* vert, Vec2* value); +void ssrS_setregvec2_02(Vert* vert, Vec2* value); +void ssrS_setregvec3_01(Vert* vert, Vec3* value); +void ssrS_setregvec3_02(Vert* vert, Vec3* value); Vec4* ssrS_getregvec4_01(Vert* vert); Vec4* ssrS_getregvec4_02(Vert* vert); |