summaryrefslogtreecommitdiff
path: root/src/core/shader.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/shader.h')
-rw-r--r--src/core/shader.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/core/shader.h b/src/core/shader.h
index 05fd738..15edf4c 100644
--- a/src/core/shader.h
+++ b/src/core/shader.h
@@ -112,8 +112,8 @@ Vec2* ssrS_bcpvec2(Vec3* bc, Vec2* A, Vec2* B, Vec2* C, Vec2* out);
Vec3* ssrS_bcpvec3(Vec3* bc, Vec3* A, Vec3* B, Vec3* C, Vec3* out);
Vec4* ssrS_bcpvec4(Vec3* bc, Vec4* A, Vec4* B, Vec4* C, Vec4* out);
-void ssrS_lerpnum(float t, float A, float B, float* out);
void ssrS_lerpcolor(float t, Color A, Color B, Color* out);
+void ssrS_lerpnum(float t, float* A, float* B, float* 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);
@@ -144,7 +144,7 @@ typedef struct {
} Register;
typedef void* (*BcpInterpolator)(Vec3* bc, void* a, void* b, void* c, void* out);
-typedef void* (*LinearInterpolator)(float t, void* a, void* b, void* c, void* out);
+typedef void* (*LinearInterpolator)(float t, void* a, void* b, void* out);
typedef struct {
uint element_size;
@@ -156,6 +156,7 @@ typedef struct {
Register registers[REG_TOTAL];
ActiveReg active_regs[REG_TOTAL];
+
int open_regsi[REG_TOTAL]; /*draw call用到的寄存器,可以索引到registers和active_regs*/
/*寄存器指针accessor,指向寄存器中的某个值,用于在shader里快速访问,使用错误可能会出现野指针*/
@@ -177,6 +178,6 @@ void ssrS_setupregisterpointers(int idx);
void ssrS_setregtofragin();
#define tex2d(tex, uv) \
-texture_sampling(tex, ssr_getfiltermode(), ssr_getwrapmode(), (uv).x, (uv).y)
+texture_sampling(tex, ssr_getfiltermode(), ssr_getwrapmode(), (uv)->x, (uv)->y)
#endif \ No newline at end of file