This code sample shows how to declare a texture and load the correspondant image file to map it on a simple 2D primitive shape: a quad. The image used as a texture is in the jpg format.
Keywords: scene - camera - texture - filename - primitive - shape_type - quad
Code Sample 4
This code sample shows how to create primitives featuring 3D boxes and how to load a texture to map it on them. It shows how to initialize a scene background_color and
also how to get some fog and control its density..
Keywords: scene - background_color - fog - density - primitive - shape_type - box - auto_spin
Code Sample 5
This code sample shows how to load 3D Studio MAX (*.3ds) models with their textures. It shows the use of the texturing attribut that enables the model's texturing..
Keywords: scene - background_color - camera - light - model - texturing - lighting
Code Sample 13
This code sample shows how to use some pre build meshes (mesh plane and torus)
It also shows how to generate a procedural texture such as the classical checker and how
to use vertices color to modulate the final color with the texture.
The sample uses the texture function (set by function_type), that specifies how the texture is
mixed with the input color in the 3D pipeline.
Shows the effect of several lights on a mesh. The mesh is deformed using a height map (simple terrain generator).
Shows how to render light position using render attribut.
Keywords: scene - camera - light - render - material - texture - filtering_mode - function_type - addressing_mode - mesh - terrain
Code Sample 98
This code sample shows how to use the texture tiling factor. Several different tiling factors are set
that use the same texture but applied on four different mesh planes. The code shows also how to use 3D text to
display informations.
Keywords: scene - camera - texture - material - mesh - shape_type - u_tile - v_tile - font - text_3d
[-] Animated textures
Code Sample 44
Shows how to display an AVI file as an animated texture on a simple mesh plane.
Keywords: scene - camera - texture - size - material - mesh
Code Sample 45
Shows how to display an AVI file as an animated texture, like in the code sample 44 and
how to map the texture on a model sub mesh. It shows how to use the texture function (set by function_type),
that specifies how the texture is mixed with the input color in the 3D pipeline.
Keywords: scene - camera - texture - function_type - size - model - mesh
Code Sample 89
Shows how to apply the render to texture technique. The sample shows how to render a real time 3D scene into a
texture that is applied on a quad. This sample shows how to use group in order to control several objets in the same time.
Keywords: scene - camera - texture - function_type - size - model - mesh
[-] Spherical Environment Mapping
Code Sample 11
Shows how to perform spherical environment mapping on a torus mesh.
The code shows how to set a background image that never moves, remaining perfectly static.
This tutorial has been inspired from one of DevLib (www.devlib-central.org) demos.
Keywords: scene - background_image - camera - texture - gen_coord_mode - mesh - torus - spin_values
Code Sample 12
Shows how to make spherical environment mapping on a 3D model.
This code sample shows how may be useful the LynX 3D Viewer (available on http://www.ozone3d.net) to get some
information about the 3D model, like its unique submesh name.
Keywords: scene - background_image - camera - texture - gen_coord_mode - model - mesh - torus - spin_values
[-] Cube Mapping
Code Sample 25
Shows how to do static cube mapping. It features that it is the fastest way to perform
really nice environment mapping. The code applies for static environment, otherwise, dynamic
cube mapping should be used. It also shows how to detect a workstation ability to perform
the code (check_hardware_caps) depending on drivers version and hardware
capability (graphics controler).
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
The code shows how to make dynamic cube mapping. It uses a moving sphere to clearily see the moving
reflection. Similar to code sample 25, it shows how to detect a workstation ability (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
Shows how to simultaneously perform DOT3 Bump mapping and Cube Mapping on 3D Model.
As a demanding applet, this requires cube and DOT3 bump mapping support. The demo, as featured
in code samples 25 and 26, checks wether or not the workstation can correctly perform the code (check_hardware_caps).
Shows how to use compressed textures (DDS and O3TC) to create a realistic Earth. These textures uses S3TC DXT1, DXT3 or DXT5 compression schemes.
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
Shows how to make DOT3 Bump Mapping to simulate meshes with a high number of polygons.
This DOT3 bump mapping technique is rather old: it uses registers combiners. Today
we should use vertex and pixel shaders to achieve realistic bump mapping.
Keywords: scene - camera - light - material - texture - mesh - bump_mapping_attach_light
[-] Opacity & Alpha Mapping
Code Sample 22
This code sample exposes a cheap method to simulate complex object (using simple shapes like a torus mesh) with the alpha test technique.
It also shows how to create a texture with Perlin noise and how to setup a directional light.
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
Shows how to use an alpha map shader to render a tree.
Keywords: scene - check_hardware_caps - background_image - texture - material - shader_program_name - add_texture - model - alpha_test_params - shader_program
[-] Reflexion
Code Sample 20
Shows how to create a reflective floor using a reflection texture.
The code shows how to operate material and object lighting parameters
to get nice specular highlights.
Keywords: include - hyperion_lib - scene - texture - size - material - mesh - sphere - model - improve_specular_highlights
Code Sample 14
Shows how to use mesh planes. The code exposes a technique to represent a lamp just by using a basic
primitive: a quad. It shows how to build a room with mesh planes and how to simulate a pane with an
environment reflection. The code shows how to perform DOT3 Bump Mapping and how to control an object's
rotation through LUA scripting. It shows how to use the texture function (set by function_type),
that specifies how the texture is mixed with the input color in the 3D pipeline. It also shows how to
detect a workstation ability to perform the code (check_hardware_caps) depending on drivers version and
hardware capability (graphics controler).
Keywords: include - hyperion_lib - scene - check_hardware_caps - texture - size - material - mesh - plane - model - bump_mapping_attach_light - script
Code Sample 39
Shows how to do a reflective floor using reflection textures. The code loads twice a 3D car model, which makes 4 simultaneously rendered cars.
It uses the vertex buffer object (vbo) to speed up the rendering of meshes featuring static polygons.
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
Shows how to use projectors. This is a basic use of the texture projection technique.
The example applies the blending technique to set the projector effect and
uses the texture function (set by function_type), that specifies how the texture is mixed with the input
color in the 3D pipeline.
Keywords: scene - camera - light - material - texture - function_type - projector
Code Sample 49b
Shows how to get Doom3 flashlight-like projector. Like in Code sample 49, it uses the blending technique to
set the projector effect. Shows how to set a basic hierarchy to add a flashlight 3D model as a child (add_child) of the camera and how to
set a parent for the projector (parent_object) to get a realistic effect. The sample shows how to control the projector using hotkeys via a LUA scripting code.
Keywords: scene - camera - add_child - light - material - texture - function_type - projector - script - model - mesh
[-] Texture Filtering
Code Sample 15
Shows how to use the trilinear filtering and anisotropic filtering to decrease the texture noise.
The code clearily shows the different rendering output between two textured meshplanes processed
with different filtering techniques (filtering_mode). It diplays a 2D text in order to easily
distinguish on which plane is applied the filtering technique (trilinear with mipmaps ot linear witout mipmaps).
The sample shows how to set the texture adressing mode and underlines the importance of the anisotropy parameter,
which strongly depends on the graphic controller (informations about this parameter are provided by the free tool
HardwareInfos available on http://www.ozone3d.net.
Keywords: scene - camera - widescreen - include - hyperion_lib - font - text_2d - texture - filtering_mode - TRILINEAR - anisotropy - num_mipmaps - material - mesh