69 float attenuation_distance;
70 Color attenuation_color;
81 int thickness_texture;
84 color(
White()),
emission(),
metallic(),
roughness(0.8),
transmission(),
ior(),
specular(),
specular_color(),
thickness(), attenuation_distance(), attenuation_color(),
107 std::vector<unsigned> indices;
108 std::vector<vec3> positions;
109 std::vector<vec2> texcoords;
110 std::vector<vec3> normals;
158 std::vector<GLTFInstances>
instances( )
const;
representation d'un objet / maillage.
Point pmax
points extremes de l'englobant dans le repere objet
Mesh read_gltf_mesh(const char *filename)
charge un fichier .gltf et construit un mesh statique, sans animation.
int mesh_index
indice du maillage.
std::vector< ImageData > read_gltf_images(const char *filename)
charge un fichier .gltf et charge les images referencees par les matieres.
std::vector< GLTFMaterial > read_gltf_materials(const char *filename)
charge un fichier .gltf et renvoie les matieres.
int primitives_mode
triangles.
std::vector< Transform > transforms
transformation model de chaque instance
int material_index
indice de la matiere des primitives.
int primitives_index
indice unique.
Point pmax
points extremes de l'englobant dans le repere objet
GLTFScene read_gltf_scene(const char *filename)
charge un fichier .gltf et construit une scene statique, sans animation.
std::vector< GLTFPrimitives > primitives
groupes de triangles associes a une matiere.
int mesh_index
indice du maillage instancie.
std::vector< GLTFLight > read_gltf_lights(const char *filename)
charge un fichier .gltf et renvoie les sources de lumiere ponctuelles.
std::vector< GLTFCamera > read_gltf_cameras(const char *filename)
charge un fichier .gltf renvoie les cameras.
Transform model
transformation model pour dessiner le maillage.
description d'une camera.
description d'une source de lumiere.
description d'un maillage.
position et orientation d'un maillage dans la scene.
groupe de triangles d'un maillage. chaque groupe est associe a une matiere.
Color White()
utilitaire. renvoie une couleur blanche.
representation d'une couleur (rgba) transparente ou opaque.
float transmission
transmission, transparent ou pas (= 0)
int color_texture
indice de la texture ou -1. cf read_gltf_images() pour charger les textures dans le bon ordre....
float roughness
rugosite de la micro surface.
int metallic_roughness_texture
indice de la texture ou -1. les valeurs RGB representent les parametres du modele : B= metallic,...
int emission_texture
indice de la texture ou -1.
Color specular_color
modification de la reflexion speculaire des dielectriques ou pas (= 0)
Color emission
emission pour les sources de lumieres ou pas (= noir).
int normal_texture
indice de la texture ou -1.
float specular
modification de la reflexion speculaire des dielectriques ou pas (= 0)
int transmission_texture
indice de la texture ou -1.
float ior
indice de refraction des dielectriques ou pas (= 0)
float thickness
epaisseur des surfaces transparentes
int specular_color_texture
indice de la texture ou -1.
float metallic
metallic / dielectrique.
int specular_texture
indice de la texture ou -1.
int occlusion_texture
indice de la texture ou -1. //
void bounds(Point &pmin, Point &pmax) const
calcule les points extremes de la scene, utile pour regler un orbiter.
std::vector< GLTFMaterial > materials
matieres.
std::vector< GLTFLight > lights
lumieres.
std::vector< GLTFInstances > instances() const
regroupe les instances de chaque maillage.
std::vector< GLTFNode > nodes
noeuds / position et orientation des maillages dans la scene.
std::vector< GLTFMesh > meshes
ensemble de maillages.
std::vector< GLTFCamera > cameras
cameras.
representation d'un point 3d.