Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source/blender/gpu/GPU_vertex_format.h2
-rw-r--r--source/blender/gpu/intern/gpu_vertex_format.c12
2 files changed, 14 insertions, 0 deletions
diff --git a/source/blender/gpu/GPU_vertex_format.h b/source/blender/gpu/GPU_vertex_format.h
index 7a271caf079..74a86fbcb40 100644
--- a/source/blender/gpu/GPU_vertex_format.h
+++ b/source/blender/gpu/GPU_vertex_format.h
@@ -112,6 +112,8 @@ typedef struct GPUPackedNormal {
} GPUPackedNormal;
GPUPackedNormal GPU_normal_convert_i10_v3(const float data[3]);
+GPUPackedNormal GPU_normal_convert_i10_v3_negated(const float data[3]);
GPUPackedNormal GPU_normal_convert_i10_s3(const short data[3]);
+GPUPackedNormal GPU_normal_convert_i10_s3_negated(const short data[3]);
#endif /* __GPU_VERTEX_FORMAT_H__ */
diff --git a/source/blender/gpu/intern/gpu_vertex_format.c b/source/blender/gpu/intern/gpu_vertex_format.c
index ca636d2e231..24f4a1a53f1 100644
--- a/source/blender/gpu/intern/gpu_vertex_format.c
+++ b/source/blender/gpu/intern/gpu_vertex_format.c
@@ -478,8 +478,20 @@ GPUPackedNormal GPU_normal_convert_i10_v3(const float data[3])
return n;
}
+GPUPackedNormal GPU_normal_convert_i10_v3_negated(const float data[3])
+{
+ GPUPackedNormal n = { .x = quantize(-data[0]), .y = quantize(-data[1]), .z = quantize(-data[2]) };
+ return n;
+}
+
GPUPackedNormal GPU_normal_convert_i10_s3(const short data[3])
{
GPUPackedNormal n = { .x = convert_i16(data[0]), .y = convert_i16(data[1]), .z = convert_i16(data[2]) };
return n;
}
+
+GPUPackedNormal GPU_normal_convert_i10_s3_negated(const short data[3])
+{
+ GPUPackedNormal n = { .x = convert_i16(-data[0]), .y = convert_i16(-data[1]), .z = convert_i16(-data[2]) };
+ return n;
+}