summaryrefslogtreecommitdiff
path: root/src/core/shader.h
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2019-12-05 09:21:26 +0800
committerchai <chaifix@163.com>2019-12-05 09:21:26 +0800
commit8e684dc0c76708e3174f005aebcaabc144b85500 (patch)
treed7803e49ee1fdb5575128114d19499787f870c00 /src/core/shader.h
parent2e82e2ddd0852b8063a3d6645366f53ee844e273 (diff)
*鑳岄潰鍓旈櫎
Diffstat (limited to 'src/core/shader.h')
-rw-r--r--src/core/shader.h32
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);