gthreematerial

gthreematerial

Functions

Properties

float alpha-test Read / Write
gboolean clip-intersection Read / Write
gboolean fog Read / Write
float opacity Read / Write
GthreeSide side Read / Write
gboolean transparent Read / Write
gboolean vertex-colors Read / Write

Types and Values

Object Hierarchy

    GEnum
    ├── GthreeBlendMode
    ╰── GthreeSide
    GObject
    ╰── GthreeMaterial
        ├── GthreeLineBasicMaterial
        ├── GthreeMeshMaterial
        ├── GthreePointsMaterial
        ╰── GthreeSpriteMaterial

Includes

#include <gthree/gthree.h>

Description

Functions

gthree_material_clone ()

GthreeMaterial *
gthree_material_clone (GthreeMaterial *material);

gthree_material_set_alpha_test ()

void
gthree_material_set_alpha_test (GthreeMaterial *material,
                                float alpha_test);

gthree_material_get_alpha_test ()

float
gthree_material_get_alpha_test (GthreeMaterial *material);

gthree_material_set_blend_mode ()

void
gthree_material_set_blend_mode (GthreeMaterial *material,
                                GthreeBlendMode mode,
                                guint equation,
                                guint src_factor,
                                guint dst_factor);

gthree_material_get_blend_mode ()

GthreeBlendMode
gthree_material_get_blend_mode (GthreeMaterial *material,
                                guint *equation,
                                guint *src_factor,
                                guint *dst_factor);

gthree_material_set_depth_test ()

void
gthree_material_set_depth_test (GthreeMaterial *material,
                                gboolean depth_test);

gthree_material_get_depth_test ()

gboolean
gthree_material_get_depth_test (GthreeMaterial *material);

gthree_material_set_depth_write ()

void
gthree_material_set_depth_write (GthreeMaterial *material,
                                 gboolean depth_write);

gthree_material_get_depth_write ()

gboolean
gthree_material_get_depth_write (GthreeMaterial *material);

gthree_material_set_is_transparent ()

void
gthree_material_set_is_transparent (GthreeMaterial *material,
                                    gboolean is_transparent);

gthree_material_get_is_transparent ()

gboolean
gthree_material_get_is_transparent (GthreeMaterial *material);

gthree_material_set_is_visible ()

void
gthree_material_set_is_visible (GthreeMaterial *material,
                                gboolean is_visible);

gthree_material_get_is_visible ()

gboolean
gthree_material_get_is_visible (GthreeMaterial *material);

gthree_material_set_needs_update ()

void
gthree_material_set_needs_update (GthreeMaterial *material);

gthree_material_set_opacity ()

void
gthree_material_set_opacity (GthreeMaterial *material,
                             float opacity);

gthree_material_get_opacity ()

float
gthree_material_get_opacity (GthreeMaterial *material);

gthree_material_set_polygon_offset ()

void
gthree_material_set_polygon_offset (GthreeMaterial *material,
                                    gboolean polygon_offset,
                                    float factor,
                                    float units);

gthree_material_get_polygon_offset ()

gboolean
gthree_material_get_polygon_offset (GthreeMaterial *material,
                                    float *factor,
                                    float *units);

gthree_material_set_side ()

void
gthree_material_set_side (GthreeMaterial *material,
                          GthreeSide side);

gthree_material_get_side ()

GthreeSide
gthree_material_get_side (GthreeMaterial *material);

gthree_material_set_vertex_colors ()

void
gthree_material_set_vertex_colors (GthreeMaterial *material,
                                   gboolean vertex_colors);

gthree_material_get_vertex_colors ()

gboolean
gthree_material_get_vertex_colors (GthreeMaterial *material);

gthree_material_set_params ()

void
gthree_material_set_params (GthreeMaterial *material,
                            GthreeProgramParameters *params);

gthree_material_set_uniforms ()

void
gthree_material_set_uniforms (GthreeMaterial *material,
                              GthreeUniforms *uniforms,
                              GthreeCamera *camera,
                              GthreeRenderer *renderer);

gthree_material_load_default_attribute ()

void
gthree_material_load_default_attribute
                               (GthreeMaterial *material,
                                int attribute_location,
                                GQuark attribute);

gthree_material_get_shader ()

GthreeShader *
gthree_material_get_shader (GthreeMaterial *material);

gthree_material_needs_camera_pos ()

gboolean
gthree_material_needs_camera_pos (GthreeMaterial *material);

gthree_material_needs_lights ()

gboolean
gthree_material_needs_lights (GthreeMaterial *material);

gthree_material_needs_view_matrix ()

gboolean
gthree_material_needs_view_matrix (GthreeMaterial *material);

Types and Values

GthreeMaterial

typedef struct _GthreeMaterial GthreeMaterial;

GthreeMaterialClass

typedef struct {
  GObjectClass parent_class;

  GthreeShader * (*get_shader) (GthreeMaterial *material);

  void          (*set_params) (GthreeMaterial *material,
                               GthreeProgramParameters *params);

  void          (*set_uniforms) (GthreeMaterial *material,
                                 GthreeUniforms *uniforms,
                                 GthreeCamera *camera,
                                 GthreeRenderer *renderer);

  void (*load_default_attribute) (GthreeMaterial       *material,
                                  int                   attribute_location,
                                  GQuark                attribute);

  gboolean           (*needs_view_matrix) (GthreeMaterial *material);
  gboolean           (*needs_camera_pos) (GthreeMaterial *material);
  gboolean           (*needs_lights)  (GthreeMaterial *material);

  gboolean apply_common_uniforms;

  gpointer padding[8];
} GthreeMaterialClass;

GthreeMaterialProperties

typedef struct _GthreeMaterialProperties GthreeMaterialProperties;

enum GthreeBlendMode

Members

GTHREE_BLEND_NO

   

GTHREE_BLEND_NORMAL

   

GTHREE_BLEND_ADDITIVE

   

GTHREE_BLEND_SUBTRACTIVE

   

GTHREE_BLEND_MULTIPLY

   

GTHREE_BLEND_CUSTOM

   

enum GthreeSide

Members

GTHREE_SIDE_FRONT

   

GTHREE_SIDE_BACK

   

GTHREE_SIDE_DOUBLE

   

Property Details

The “alpha-test” property

  “alpha-test”               float

Alpha test.

Owner: GthreeMaterial

Flags: Read / Write

Allowed values: [0,1]

Default value: 0


The “clip-intersection” property

  “clip-intersection”        gboolean

Clip Intersection.

Owner: GthreeMaterial

Flags: Read / Write

Default value: FALSE


The “fog” property

  “fog”                      gboolean

Affected by fog.

Owner: GthreeMaterial

Flags: Read / Write

Default value: TRUE


The “opacity” property

  “opacity”                  float

Opacity.

Owner: GthreeMaterial

Flags: Read / Write

Allowed values: [0,1]

Default value: 1


The “side” property

  “side”                     GthreeSide

Side.

Owner: GthreeMaterial

Flags: Read / Write

Default value: GTHREE_SIDE_FRONT


The “transparent” property

  “transparent”              gboolean

Transparent.

Owner: GthreeMaterial

Flags: Read / Write

Default value: FALSE


The “vertex-colors” property

  “vertex-colors”            gboolean

Vertex Colors.

Owner: GthreeMaterial

Flags: Read / Write

Default value: FALSE