GPAC
Open Source Multimedia Framework. For more information, check out http://gpac.wp.mines-telecom.fr
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups
visual_manager_3d.h File Reference
+ Include dependency graph for visual_manager_3d.h:
+ This graph shows which files directly or indirectly include this file:

Data Structures

struct  Drawable3D
 
struct  DirectionalLightContext
 
struct  Drawable3DContext
 

Enumerations

enum  { V3D_STATE_LIGHT = 1, V3D_STATE_BLEND = (1<<1), V3D_STATE_COLOR = (1<<2) }
 
enum  { V3D_MATRIX_MODELVIEW, V3D_MATRIX_PROJECTION, V3D_MATRIX_TEXTURE }
 
enum  {
  V3D_MATERIAL_NONE, V3D_MATERIAL_AMBIENT, V3D_MATERIAL_DIFFUSE, V3D_MATERIAL_SPECULAR,
  V3D_MATERIAL_EMISSIVE
}
 

Functions

Bool visual_3d_draw_frame (GF_VisualManager *visual, GF_Node *root, GF_TraverseState *tr_state, Bool is_root_visual)
 
void visual_3d_pick_node (GF_VisualManager *visual, GF_TraverseState *tr_state, GF_Event *ev, GF_ChildNodeItem *children)
 
Bool visual_3d_node_cull (GF_TraverseState *tr_state, GF_BBox *bbox, Bool skip_near)
 
void visual_3d_viewpoint_change (GF_TraverseState *tr_state, GF_Node *vp, Bool animate_change, Fixed fieldOfView, SFVec3f position, SFRotation orientation, SFVec3f local_center)
 
void visual_3d_vrml_drawable_pick (GF_Node *n, GF_TraverseState *tr_state, GF_Mesh *mesh, Drawable *drawable)
 
void visual_3d_vrml_drawable_collide (GF_Node *node, GF_TraverseState *tr_state)
 
void visual_3d_register_context (GF_TraverseState *tr_state, GF_Node *node_to_draw)
 
void visual_3d_flush_contexts (GF_VisualManager *visual, GF_TraverseState *tr_state)
 
void visual_3d_draw (GF_TraverseState *tr_state, GF_Mesh *mesh)
 
void visual_3d_draw_2d_with_aspect (Drawable *st, GF_TraverseState *tr_state, DrawAspect2D *asp)
 
void visual_3d_draw_from_context (DrawableContext *ctx, GF_TraverseState *tr_state)
 
void visual_3d_draw_2d (Drawable *st, GF_TraverseState *tr_state)
 
void visual_3d_set_2d_strike (GF_TraverseState *tr_state, DrawAspect2D *asp)
 
Bool visual_3d_setup_appearance (GF_TraverseState *tr_state)
 
Bool visual_3d_setup_texture (GF_TraverseState *tr_state, Fixed diffuse_alpha)
 
void visual_3d_disable_texture (GF_TraverseState *tr_state)
 
void visual_3d_check_collisions (GF_TraverseState *tr_state, GF_ChildNodeItem *node_list)
 
void visual_3d_init_draw (GF_TraverseState *tr_state, u32 layer_type)
 
void visual_3d_setup_projection (GF_TraverseState *tr_state, Bool is_layer)
 
Drawable3Ddrawable_3d_new (GF_Node *node)
 
void drawable_3d_del (GF_Node *n)
 
void drawable_3d_base_traverse (GF_Node *n, void *rs, Bool is_destroy, void(*build_shape)(GF_Node *, Drawable3D *, GF_TraverseState *))
 
void drawable3d_check_focus_highlight (GF_Node *node, GF_TraverseState *tr_state, GF_BBox *orig_bounds)
 
void visual_3d_setup (GF_VisualManager *visual)
 
void visual_3d_enable_depth_buffer (GF_VisualManager *visual, Bool on)
 
void visual_3d_enable_antialias (GF_VisualManager *visual, Bool bOn)
 
void visual_3d_enable_headlight (GF_VisualManager *visual, Bool bOn, GF_Camera *cam)
 
void visual_3d_set_state (GF_VisualManager *visual, u32 flag_mask, Bool setOn)
 
void visual_3d_clear (GF_VisualManager *visual, SFColor color, Fixed alpha)
 
void visual_3d_clear_depth (GF_VisualManager *visual)
 
void visual_3d_set_background_state (GF_VisualManager *visual, Bool on)
 
void visual_3d_set_matrix_mode (GF_VisualManager *visual, u32 mat_type)
 
void visual_3d_matrix_push (GF_VisualManager *visual)
 
void visual_3d_matrix_reset (GF_VisualManager *visual)
 
void visual_3d_matrix_add (GF_VisualManager *visual, Fixed *mat)
 
void visual_3d_matrix_load (GF_VisualManager *visual, Fixed *mat)
 
void visual_3d_matrix_pop (GF_VisualManager *visual)
 
void visual_3d_set_viewport (GF_VisualManager *visual, GF_Rect vp)
 
void visual_3d_set_scissor (GF_VisualManager *visual, GF_Rect *vp)
 
void visual_3d_set_clipper_2d (GF_VisualManager *visual, GF_Rect clip)
 
void visual_3d_reset_clipper_2d (GF_VisualManager *visual)
 
void visual_3d_set_clip_plane (GF_VisualManager *visual, GF_Plane p)
 
void visual_3d_reset_clip_plane (GF_VisualManager *visual)
 
void visual_3d_mesh_paint (GF_TraverseState *tr_state, GF_Mesh *mesh)
 
void visual_3d_mesh_strike (GF_TraverseState *tr_state, GF_Mesh *mesh, Fixed width, Fixed line_scale, u32 dash_style)
 
void visual_3d_set_material (GF_VisualManager *visual, u32 material_type, Fixed *rgba)
 
void visual_3d_set_shininess (GF_VisualManager *visual, Fixed shininess)
 
void visual_3d_set_material_2d (GF_VisualManager *visual, SFColor col, Fixed alpha)
 
void visual_3d_set_material_2d_argb (GF_VisualManager *visual, u32 col)
 
void visual_3d_remove_last_light (GF_VisualManager *visual)
 
void visual_3d_clear_all_lights (GF_VisualManager *visual)
 
Bool visual_3d_add_spot_light (GF_VisualManager *visual, Fixed ambientIntensity, SFVec3f attenuation, Fixed beamWidth, SFColor color, Fixed cutOffAngle, SFVec3f direction, Fixed intensity, SFVec3f location)
 
Bool visual_3d_add_point_light (GF_VisualManager *visual, Fixed ambientIntensity, SFVec3f attenuation, SFColor color, Fixed intensity, SFVec3f location)
 
Bool visual_3d_add_directional_light (GF_VisualManager *visual, Fixed ambientIntensity, SFColor color, Fixed intensity, SFVec3f direction)
 
void visual_3d_set_fog (GF_VisualManager *visual, const char *type, SFColor color, Fixed density, Fixed visibility)
 
void visual_3d_fill_rect (GF_VisualManager *visual, GF_Rect rc, SFColorRGBA color)
 
void visual_3d_point_sprite (GF_VisualManager *visual, Drawable *stack, GF_TextureHandler *txh, GF_TraverseState *tr_state)
 
void visual_3d_draw_image (GF_VisualManager *visual, Fixed pos_x, Fixed pos_y, u32 width, u32 height, u32 pixelformat, char *data, Fixed scale_x, Fixed scale_y)
 
void visual_3d_matrix_get (GF_VisualManager *visual, u32 mat_type, Fixed *mat)
 
void visual_3d_mesh_hatch (GF_TraverseState *tr_state, GF_Mesh *mesh, u32 hatchStyle, SFColor hatchColor)
 
void visual_3d_draw_bbox (GF_TraverseState *tr_state, GF_BBox *box)
 
GF_Err visual_3d_init_autostereo (GF_VisualManager *visual)
 
void visual_3d_end_auto_stereo_pass (GF_VisualManager *visual)
 
void visual_3d_init_yuv_shader (GF_VisualManager *visual)
 
void visual_3d_reset_graphics (GF_VisualManager *visual)
 

Data Structure Documentation

struct Drawable3D
+ Collaboration diagram for Drawable3D:
Data Fields
GF_Mesh * mesh
struct DirectionalLightContext
+ Collaboration diagram for DirectionalLightContext:
Data Fields
GF_Node * dlight
GF_Matrix light_matrix
struct Drawable3DContext
+ Collaboration diagram for Drawable3DContext:
Data Fields
GF_Node * geometry
GF_Node * appearance
GF_Matrix model_matrix
GF_ColorMatrix color_mat
u32 text_split_idx
Bool pixel_metrics
u32 cull_flag
GF_List * directional_lights
Fixed zmax
GF_Rect clipper
Bool has_clipper
GF_Plane clip_planes[4]
u32 num_clip_planes
Fixed depth_offset

Enumeration Type Documentation

anonymous enum
Enumerator
V3D_STATE_LIGHT 
V3D_STATE_BLEND 
V3D_STATE_COLOR 
anonymous enum
Enumerator
V3D_MATRIX_MODELVIEW 
V3D_MATRIX_PROJECTION 
V3D_MATRIX_TEXTURE 
anonymous enum
Enumerator
V3D_MATERIAL_NONE 
V3D_MATERIAL_AMBIENT 
V3D_MATERIAL_DIFFUSE 
V3D_MATERIAL_SPECULAR 
V3D_MATERIAL_EMISSIVE 

Function Documentation

Bool visual_3d_draw_frame ( GF_VisualManager *  visual,
GF_Node root,
GF_TraverseState *  tr_state,
Bool  is_root_visual 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_pick_node ( GF_VisualManager *  visual,
GF_TraverseState *  tr_state,
GF_Event ev,
GF_ChildNodeItem children 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Bool visual_3d_node_cull ( GF_TraverseState *  tr_state,
GF_BBox bbox,
Bool  skip_near 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_viewpoint_change ( GF_TraverseState *  tr_state,
GF_Node vp,
Bool  animate_change,
Fixed  fieldOfView,
SFVec3f  position,
SFRotation  orientation,
SFVec3f  local_center 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_vrml_drawable_pick ( GF_Node n,
GF_TraverseState *  tr_state,
GF_Mesh mesh,
Drawable *  drawable 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_vrml_drawable_collide ( GF_Node node,
GF_TraverseState *  tr_state 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_register_context ( GF_TraverseState *  tr_state,
GF_Node node_to_draw 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_flush_contexts ( GF_VisualManager *  visual,
GF_TraverseState *  tr_state 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_draw ( GF_TraverseState *  tr_state,
GF_Mesh mesh 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_draw_2d_with_aspect ( Drawable *  st,
GF_TraverseState *  tr_state,
DrawAspect2D *  asp 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_draw_from_context ( DrawableContext *  ctx,
GF_TraverseState *  tr_state 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_draw_2d ( Drawable *  st,
GF_TraverseState *  tr_state 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_set_2d_strike ( GF_TraverseState *  tr_state,
DrawAspect2D *  asp 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Bool visual_3d_setup_appearance ( GF_TraverseState *  tr_state)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Bool visual_3d_setup_texture ( GF_TraverseState *  tr_state,
Fixed  diffuse_alpha 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_disable_texture ( GF_TraverseState *  tr_state)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_check_collisions ( GF_TraverseState *  tr_state,
GF_ChildNodeItem node_list 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_init_draw ( GF_TraverseState *  tr_state,
u32  layer_type 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_setup_projection ( GF_TraverseState *  tr_state,
Bool  is_layer 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Drawable3D* drawable_3d_new ( GF_Node node)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void drawable_3d_del ( GF_Node n)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void drawable_3d_base_traverse ( GF_Node n,
void *  rs,
Bool  is_destroy,
void(*)(GF_Node *, Drawable3D *, GF_TraverseState *)  build_shape 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void drawable3d_check_focus_highlight ( GF_Node node,
GF_TraverseState *  tr_state,
GF_BBox orig_bounds 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_setup ( GF_VisualManager *  visual)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_enable_depth_buffer ( GF_VisualManager *  visual,
Bool  on 
)

+ Here is the caller graph for this function:

void visual_3d_enable_antialias ( GF_VisualManager *  visual,
Bool  bOn 
)

+ Here is the caller graph for this function:

void visual_3d_enable_headlight ( GF_VisualManager *  visual,
Bool  bOn,
GF_Camera cam 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_set_state ( GF_VisualManager *  visual,
u32  flag_mask,
Bool  setOn 
)

+ Here is the caller graph for this function:

void visual_3d_clear ( GF_VisualManager *  visual,
SFColor  color,
Fixed  alpha 
)

+ Here is the caller graph for this function:

void visual_3d_clear_depth ( GF_VisualManager *  visual)

+ Here is the caller graph for this function:

void visual_3d_set_background_state ( GF_VisualManager *  visual,
Bool  on 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_set_matrix_mode ( GF_VisualManager *  visual,
u32  mat_type 
)

+ Here is the caller graph for this function:

void visual_3d_matrix_push ( GF_VisualManager *  visual)

+ Here is the caller graph for this function:

void visual_3d_matrix_reset ( GF_VisualManager *  visual)

+ Here is the caller graph for this function:

void visual_3d_matrix_add ( GF_VisualManager *  visual,
Fixed mat 
)

+ Here is the caller graph for this function:

void visual_3d_matrix_load ( GF_VisualManager *  visual,
Fixed mat 
)

+ Here is the caller graph for this function:

void visual_3d_matrix_pop ( GF_VisualManager *  visual)

+ Here is the caller graph for this function:

void visual_3d_set_viewport ( GF_VisualManager *  visual,
GF_Rect  vp 
)

+ Here is the caller graph for this function:

void visual_3d_set_scissor ( GF_VisualManager *  visual,
GF_Rect vp 
)

+ Here is the caller graph for this function:

void visual_3d_set_clipper_2d ( GF_VisualManager *  visual,
GF_Rect  clip 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_reset_clipper_2d ( GF_VisualManager *  visual)

+ Here is the caller graph for this function:

void visual_3d_set_clip_plane ( GF_VisualManager *  visual,
GF_Plane  p 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_reset_clip_plane ( GF_VisualManager *  visual)

+ Here is the caller graph for this function:

void visual_3d_mesh_paint ( GF_TraverseState *  tr_state,
GF_Mesh mesh 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_mesh_strike ( GF_TraverseState *  tr_state,
GF_Mesh mesh,
Fixed  width,
Fixed  line_scale,
u32  dash_style 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_set_material ( GF_VisualManager *  visual,
u32  material_type,
Fixed rgba 
)

+ Here is the caller graph for this function:

void visual_3d_set_shininess ( GF_VisualManager *  visual,
Fixed  shininess 
)

+ Here is the caller graph for this function:

void visual_3d_set_material_2d ( GF_VisualManager *  visual,
SFColor  col,
Fixed  alpha 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_set_material_2d_argb ( GF_VisualManager *  visual,
u32  col 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_remove_last_light ( GF_VisualManager *  visual)

+ Here is the caller graph for this function:

void visual_3d_clear_all_lights ( GF_VisualManager *  visual)

+ Here is the caller graph for this function:

Bool visual_3d_add_spot_light ( GF_VisualManager *  visual,
Fixed  ambientIntensity,
SFVec3f  attenuation,
Fixed  beamWidth,
SFColor  color,
Fixed  cutOffAngle,
SFVec3f  direction,
Fixed  intensity,
SFVec3f  location 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Bool visual_3d_add_point_light ( GF_VisualManager *  visual,
Fixed  ambientIntensity,
SFVec3f  attenuation,
SFColor  color,
Fixed  intensity,
SFVec3f  location 
)

+ Here is the caller graph for this function:

Bool visual_3d_add_directional_light ( GF_VisualManager *  visual,
Fixed  ambientIntensity,
SFColor  color,
Fixed  intensity,
SFVec3f  direction 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_set_fog ( GF_VisualManager *  visual,
const char *  type,
SFColor  color,
Fixed  density,
Fixed  visibility 
)

+ Here is the caller graph for this function:

void visual_3d_fill_rect ( GF_VisualManager *  visual,
GF_Rect  rc,
SFColorRGBA  color 
)

+ Here is the caller graph for this function:

void visual_3d_point_sprite ( GF_VisualManager *  visual,
Drawable *  stack,
GF_TextureHandler txh,
GF_TraverseState *  tr_state 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_draw_image ( GF_VisualManager *  visual,
Fixed  pos_x,
Fixed  pos_y,
u32  width,
u32  height,
u32  pixelformat,
char *  data,
Fixed  scale_x,
Fixed  scale_y 
)

+ Here is the caller graph for this function:

void visual_3d_matrix_get ( GF_VisualManager *  visual,
u32  mat_type,
Fixed mat 
)

+ Here is the caller graph for this function:

void visual_3d_mesh_hatch ( GF_TraverseState *  tr_state,
GF_Mesh mesh,
u32  hatchStyle,
SFColor  hatchColor 
)

+ Here is the caller graph for this function:

void visual_3d_draw_bbox ( GF_TraverseState *  tr_state,
GF_BBox box 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err visual_3d_init_autostereo ( GF_VisualManager *  visual)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_end_auto_stereo_pass ( GF_VisualManager *  visual)

+ Here is the caller graph for this function:

void visual_3d_init_yuv_shader ( GF_VisualManager *  visual)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void visual_3d_reset_graphics ( GF_VisualManager *  visual)

+ Here is the call graph for this function:

+ Here is the caller graph for this function: