Ce code montre comment déclarer une texture et charger le fichier image correspondant pour le plaquer sur une simple forme primitive 2D: un quad. L'image utilisée comme texture est au format jpg.
Keywords: scene - camera - texture - filename - primitive - shape_type - quad
Code Sample 4
Ce code sample montre comment créer des primitives 3D en forme de boîtes et comment charger une texture pour la plaquer sur celles-ci. Il montre comment initialiser la couleur de fond d'une scène et aussi comment obtenir du brouillard et contrôler sa densité.
Keywords: scene - background_color - fog - density - primitive - shape_type - box - auto_spin
Code Sample 5
Ce code sample montre comment charger des modèles de 3D Studio MAX (*.3ds) avec leurs textures. Il montre comment utiliser l'attribut texturing qui active le texturing du modèle.
Keywords: scene - background_color - camera - light - model - texturing - lighting
Code Sample 13
Ce code sample montre comment utiliser des meshes prédéfinis (plan et tore). Il montre aussi comment générer une
texture procédurale comme la classique checker et comment utiliser les couleurs de vertices pour moduler la couleur
finale avec la texture. Le code montre comment utiliser la fonction de texture (contrôlée par function_type), qui
spécifie la manière dont la texture est composée avec la couleur d'entrée dans le pipeline 3D.
Montre l'effet de plusieurs lumières éclairant un mesh. Le mesh est déformé en utilisant une texture d'hauteur (height-map - simple générateur de terrain). Montre aussi comment rendre la position des lumières avec l'attribut render.
Keywords: scene - camera - light - render - material - texture - filtering_mode - function_type - addressing_mode - mesh - terrain
Code Sample 98
Ce code sample montre comment utiliser le facteur de multiplication (tiling) de texture. Plusieurs facteurs différents sont introduits qui utilisent la même texture mais appliquée sur différents meshes plans. Le code montre aussi comment utiliser du texte en 3D pour afficher des informations.
Keywords: scene - camera - texture - material - mesh - shape_type - u_tile - v_tile - font - text_3d
[-] Animated textures
Code Sample 44
Montre comment afficher un fichier AVI en tant que texture animée sur un simple plan.
Keywords: scene - camera - texture - size - material - mesh
Code Sample 45
Montre comment afficher un fichier AVI en tant que texture animée, comme dans le code sample 44, et comment mapper une texture sur le sous mesh d'un modèle.
Le code montre comment utiliser la fonction de texture (contrôlée par function_type), qui spécifie la manière dont la texture est composée avec la couleur d'entrée dans le pipeline 3D.
Keywords: scene - camera - texture - function_type - size - model - mesh
Code Sample 89
Montre comment appliquer la technique de rendu dans une texture (render to texture). Le code montre comment rendre une scène 3D temps réel dans une texture appliquée à un quad.
Keywords: scene - camera - texture - function_type - size - model - mesh
[-] Spherical Environment Mapping
Code Sample 11
Montre comment réaliser un mapping d'environnement sphérique (spherical environment mapping) sur un
tore (mesh torus). Le code montre comment inclure une image de fond qui ne bouge jamais, demeurant parfaitement statique.
Ce tutor a été inspiré d'une des démos disponibles avec le SDK DevLib (www.devlib-central.org) ;)
Keywords: scene - background_image - camera - texture - gen_coord_mode - mesh - torus - spin_values
Code Sample 12
Montre comment réaliser un mapping d'environnement sphérique (spherical environment mapping) sur un modèle 3D.
Ce code sample montre l'utilité de l'outil LynX 3D Viewer (disponible sur http://www.ozone3d.net) pour obtenir des informations
sur le modèle 3D, comme le nom de son unique sous mesh.
Keywords: scene - background_image - camera - texture - gen_coord_mode - model - mesh - torus - spin_values
[-] Cube Mapping
Code Sample 25
Montre comment faire un mapping cubique statique (static cube mapping). L'exemple met en évidence
que c'est le moyen le plus rapide pour réaliser de beaux mapping d'environnement. Le code s'applique à des environnements
statiques, autrement, il est recommandé d'utiliser le mapping cubique dynamique (dynamic cube mapping). On voit aussi
comment détecter l'aptitude d'une configuration à exécuter le code (check_hardware_caps) selon la version des drivers
et des fontionnalités du hardware (carte graphique).
Keywords: include - scene - check_hardware_caps - camera - skybox - texture - type - gen_coord_mode - addressing_mode - cube_mapping_type - improve_specular_highlights - mesh - terrain
Code Sample 26
Le code montre comment faire du mapping cubique dynamique de texture (dynamic cube mapping). Il utilise une sphère
mobile pour voir clairement la réflexion en déplacement. De la même manière que le code sample 25, il montre comment détecter
l'aptitude d'une configuration à exécuter le code (check_hardware_caps).
Keywords: include - scene - check_hardware_caps - camera - skybox - texture - type - gen_coord_mode - addressing_mode - cube_mapping_type - improve_specular_highlights - mesh - terrain
Code Sample 50
Montre comment réaliser simultanément du mapping de relief (DOT3 Bump mapping) et du cube mapping sur un
modèle 3D. En tant qu'application exigeante, ceci requiert le support des cube mapping et DOT3 bump mapping.
La démo, comme dans les code samples 25 et 26, vérifie si le PC peut correctement exécuter le code ou non (check_hardware_caps).
Montre l'utilisation des textures compressées (DDS et O3TC) afin de créer une Terre réaliste. Ces textures utilisent les schémas de compression S3TC DXT1, DXT3 ou DXT5.
Keywords: scene - check_hardware_caps - s3tc - skybox - camera - display_view_direction - light - material - texture - filtering_mode - anisotropy - mesh - blending_params
[-] DOT3 Bump Mapping
Code Sample 8
Montre comment faire du DOT3 Bump Mapping pour simuler des meshes avec un nombre élevé de polygones.
Cette technique de DOT3 bump mapping est plutôt ancienne: elle utilise les fameux registers combiners. Aujourd'hui,
il est conseillé d'utiliser les vertex et pixel shaders pour obtenir un bump mapping réaliste.
Keywords: scene - camera - light - material - texture - mesh - bump_mapping_attach_light
[-] Opacity & Alpha Mapping
Code Sample 22
Cette exemple montre comment simuler à moindre frais des objets complexes (en utilisant des formes simples comme le
torus mesh) avec des alpha-maps binaires et l'alpha-test hardware. L'exemple montre aussi comme créer une texture contenant du
bruit de Perlin et montre comme initialiser une lumière de type directionnelle.
Keywords: include - hyperion_lib - scene - camera - light - DIRECTIONAL - orientation - pitch - material - texture - create_binary_alpha_map - binary_alpha_map_color - perlin_noise_params - mesh - alpha_test_params
Code Sample 86
Montre comment utiliser un shader d'alpha-map pour rendre un arbre.
Keywords: scene - check_hardware_caps - background_image - texture - material - shader_program_name - add_texture - model - alpha_test_params - shader_program
[-] Reflexion
Code Sample 20
Montre comment créer un sol réfléchissant en utilisant des textures de réflexion.
Le code montre comment manipuler les paramètres d'éclairage d'un matériau et d'un objet pour obtenir
de bons reflets spéculaires.
Keywords: include - hyperion_lib - scene - texture - size - material - mesh - sphere - model - improve_specular_highlights
Code Sample 14
Montre comment utiliser des meshplanes. Le code expose une technique pour représenter une lampe juste en utilisant
une primitive de base: un quad. Il montre aussi comment construire une pièce avec des meshplanes et comment simuler une vitre réfléchissant
l'environnement. Le code montre comment réaliser du mapping en relief (Dot3 Bump Mapping) et comment contrôler la rotation d'un objet à travers
un script LUA. Le code montre comment utiliser la fonction de texture (contrôlée par function_type), qui spécifie la manière dont la texture est composée avec la couleur d'entrée dans le pipeline 3D.
On voit aussi comment détecter l'aptitude d'une configuration à exécuter le code (check_hardware_caps) selon la version des drivers et des fonctionnalités du hardware (carte graphique).
Keywords: include - hyperion_lib - scene - check_hardware_caps - texture - size - material - mesh - plane - model - bump_mapping_attach_light - script
Code Sample 39
Montre comment réaliser un sol réfléchissant. Le code charge deux fois un modèle 3D de voiture, ce qui fait 4 voitures
rendues simultanément. Il utilise le vertex buffer object (vbo) pour accélérer le rendu de meshes présentant des polygones statiques.
Keywords: scene - camera - limit_position - light - material - opacity - texture - gen_coord_mode - model - camera_collision_entity - camera_collision_bv_shape - orientation - position - use_vbo - display_bounding_box
[-] Projectors
Code Sample 49
Montre comment utiliser des projecteurs. Ceci est une utilisation basique de la technique de
projection de texture. L'exemple applique la technique du blending pour régler l'effet du projecteur et
utilise la fonction de texture (contrôlée par function_type), qui spécifie la manière dont la texture est
composée avec la couleur d'entrée dans le pipeline 3D.
Keywords: scene - camera - light - material - texture - function_type - projector
Code Sample 49b
Montre comment obtenir des projecteurs style lampe torche Doom3. Comme dans le code 49, il utilise la technique du
blending pour régler l'effet du projecteur. Montre comment instaurer une simple hiérarchie pour inclure un modèle 3D de torche comme enfant de la caméra (add_child)
et comment désigner un parent pour le projecteur (parent_object) afin d'obtenir un effet réaliste. L'exemple montre comment contrôler le projecteur avec des touches actives (hotkeys) via un script en code LUA.
Keywords: scene - camera - add_child - light - material - texture - function_type - projector - script - model - mesh
[-] Texture Filtering
Code Sample 15
Montre comment utiliser le filtrage trilinéaire et le filtrage anisotropique pour diminuer la bruit de texture.
Le code montre clairement les différents résultats de rendu entre deux meshplanes traités par les différentes
techniques (filtering_mode). Il affiche un texte 2D pour pouvoir facilement distinguer sur quelle texture est appliquée
la technique de filtrage (trilinéaire avec mipmapping et lineaire sans mipmapping).
L'exemple montre comment régler le mode d'adressage (addressing_mode) et souligne l'importance du paramètre anisotropy,
qui dépend fortement de la carte graphique (des informations sur ce paramètre sont fournies par l'outil en libre
téléchargement HardwareInfos sur http://www.ozone3d.net).
Keywords: scene - camera - widescreen - include - hyperion_lib - font - text_2d - texture - filtering_mode - TRILINEAR - anisotropy - num_mipmaps - material - mesh