Claude Chappe' Curse - A C Game
Logo Institut d'Informatique Claude Chappe Logo Université de Le Mans Logo Raeptor Production
 
Loading...
Searching...
No Matches
model.h File Reference

Defines structures and functions for handling 3D models and their properties. More...

Include dependency graph for model.h:

Go to the source code of this file.

Classes

struct  Material
 Structure representing a material with various properties. More...
 
struct  ModelObjectData
 Structure representing the data of a 3D model object. More...
 
struct  ModelKeyframe
 Structure representing the data of a 3D model keyframe. More...
 
struct  Bone
 Structure representing a bone in a 3D model. More...
 
struct  ModelAnimation
 Structure representing the data of a 3D model animation. More...
 
struct  ModelData
 Structure representing the data of a 3D model. More...
 
class  Model
 Structure representing a 3D model. More...
 
class  TexturedMesh
 Structure representing a textured mesh. More...
 
class  Mesh
 Structure representing a mesh. More...
 

Typedefs

typedef float Vertex[VERTEX_ATTRIBUTE_COUNT]
 Array of VERTEX_ATTRIBUTE_COUNT floats representing a vertex.
 

Enumerations

enum  VertexAttribute {
  VERTEX_ATTRIBUTE_POSITION_X , VERTEX_ATTRIBUTE_POSITION_Y , VERTEX_ATTRIBUTE_POSITION_Z , VERTEX_ATTRIBUTE_NORMAL_X ,
  VERTEX_ATTRIBUTE_NORMAL_Y , VERTEX_ATTRIBUTE_NORMAL_Z , VERTEX_ATTRIBUTE_TEXTURE_U , VERTEX_ATTRIBUTE_TEXTURE_V ,
  VERTEX_ATTRIBUTE_TANGENT_X , VERTEX_ATTRIBUTE_TANGENT_Y , VERTEX_ATTRIBUTE_TANGENT_Z , VERTEX_ATTRIBUTE_BITANGENT_X ,
  VERTEX_ATTRIBUTE_BITANGENT_Y , VERTEX_ATTRIBUTE_BITANGENT_Z , VERTEX_ATTRIBUTE_BONE_ID_1 , VERTEX_ATTRIBUTE_BONE_ID_2 ,
  VERTEX_ATTRIBUTE_BONE_ID_3 , VERTEX_ATTRIBUTE_BONE_ID_4 , VERTEX_ATTRIBUTE_BONE_WEIGHT_1 , VERTEX_ATTRIBUTE_BONE_WEIGHT_2 ,
  VERTEX_ATTRIBUTE_BONE_WEIGHT_3 , VERTEX_ATTRIBUTE_BONE_WEIGHT_4 , VERTEX_ATTRIBUTE_COUNT
}
 Enumeration of vertex attributes used in 3D models. More...
 
enum  MaterialProperties {
  DIFFUSE_MATERIAL_PROPERTY , SPECULAR_MATERIAL_PROPERTY , AMBIENT_MATERIAL_PROPERTY , EMISSION_MATERIAL_PROPERTY ,
  PARALLAX_MATERIAL_PROPERTY , ROUGHNESS_MATERIAL_PROPERTY , SHEEN_MATERIAL_PROPERTY , METALLIC_MATERIAL_PROPERTY ,
  CLEARCOAT_THICKNESS_MATERIAL_PROPERTY , CLEARCOAT_ROUGHNESS_MATERIAL_PROPERTY , NORMAL_MATERIAL_PROPERTY , REFLECTION_MATERIAL_PROPERTY ,
  ANISOTROPY_MATERIAL_PROPERTY , ANISOTROPY_ROTATION_MATERIAL_PROPERTY , MATERIAL_PROPERTY_COUNT
}
 Enum representing different material properties. More...
 
enum  ModelFlags {
  MODEL_FLAG_NONE = 0 , MODEL_FLAG_GLOW = 1 << 0 , MODEL_FLAG_UNUSED1 = 1 << 1 , MODEL_FLAG_UNUSED2 = 1 << 2 ,
  MODEL_FLAG_UNUSED3 = 1 << 3 , MODEL_FLAG_UNUSED4 = 1 << 4 , MODEL_FLAG_UNUSED5 = 1 << 5 , MODEL_FLAG_UNUSED6 = 1 << 6 ,
  MODEL_FLAG_UNUSED7 = 1 << 7
}
 Enum representing flags for a model. More...
 

Functions

void create_textured_plane (TexturedMesh *texturedMesh, const char *texture)
 Creates a textured plane.
 
void create_screen_plane (Mesh *mesh)
 Creates a screen plane.
 
void render_model (mat4 modelMatrix, Shader activeShader, Model *model)
 Renders a 3D model using the specified shader and transformation matrix.
 

Detailed Description

Defines structures and functions for handling 3D models and their properties.