aboutsummaryrefslogtreecommitdiff
path: root/src/Models.h
diff options
context:
space:
mode:
authorNguyễn Gia Phong <cnx@loang.net>2023-11-18 21:40:15 +0900
committerNguyễn Gia Phong <cnx@loang.net>2023-11-18 21:40:15 +0900
commitae0810b2d4cdd31cd05f5746c6411da9d458eead (patch)
treea827fbe10c12a4a4665b98144f32e767ba5a3553 /src/Models.h
parent371906f5fb958691a8bfce85c28eb4dfaf63559c (diff)
downloadblackshades-ae0810b2d4cdd31cd05f5746c6411da9d458eead.tar.gz
Convert model geometry to Zig
Diffstat (limited to 'src/Models.h')
-rw-r--r--src/Models.h25
1 files changed, 16 insertions, 9 deletions
diff --git a/src/Models.h b/src/Models.h
index 7929887..8ab4f90 100644
--- a/src/Models.h
+++ b/src/Models.h
@@ -9,24 +9,22 @@
#define MAX_TEXTURED_TRIANGLES 400
struct TexturedTriangle {
- short vertex[3];
+ GLuint vertex[3];
float r,g,b;
};
struct Model {
- short vertexNum, TriangleNum;
-
XYZ vertex[MAX_TEXTURED_TRIANGLES * 3];
+ GLuint vertexNum;
XYZ normals[MAX_TEXTURED_TRIANGLES];
+
TexturedTriangle Triangles[MAX_TEXTURED_TRIANGLES];
- GLfloat vArray[MAX_TEXTURED_TRIANGLES * 27];
+ GLuint TriangleNum;
- XYZ boundingspherecenter;
- float boundingsphereradius;
- int LineCheck(XYZ, XYZ, XYZ*);
- int LineCheck2(XYZ, XYZ, XYZ*, XYZ, float);
+ XYZ center;
+ float radius;
+ GLfloat vArray[MAX_TEXTURED_TRIANGLES * 27];
- void UpdateVertexArray();
void load(const char*);
void save(const char*);
void CalculateNormals();
@@ -34,4 +32,13 @@ struct Model {
void draw(float r,float g,float b);
};
+#ifdef __cplusplus
+extern "C" {
+#endif // __cplusplus
+int segCrossModel(struct XYZ, struct XYZ, struct Model *, struct XYZ *);
+int segCrossModelTrans(struct XYZ, struct XYZ, struct Model *,
+ struct XYZ, float, struct XYZ *);
+#ifdef __cplusplus
+} // extern "C"
+#endif // __cplusplus
#endif