Gwyddion – Free SPM (AFM, SNOM/NSOM, STM, MFM, …) data analysis software

GwyGLMaterial

GwyGLMaterial — OpenGL material representation

Functions

const GwyRGBA * gwy_gl_material_get_ambient ()
void gwy_gl_material_set_ambient ()
const GwyRGBA * gwy_gl_material_get_diffuse ()
void gwy_gl_material_set_diffuse ()
const GwyRGBA * gwy_gl_material_get_specular ()
void gwy_gl_material_set_specular ()
const GwyRGBA * gwy_gl_material_get_emission ()
void gwy_gl_material_set_emission ()
gdouble gwy_gl_material_get_shininess ()
void gwy_gl_material_set_shininess ()
void gwy_gl_material_sample_to_pixbuf ()
void gwy_gl_material_reset ()
GwyInventory * gwy_gl_materials ()
GwyGLMaterial * gwy_gl_materials_get_gl_material ()

Types and Values

#define GWY_GL_MATERIAL_DEFAULT
#define GWY_GL_MATERIAL_NONE
struct GwyGLMaterial
struct GwyGLMaterialClass

Object Hierarchy

    GObject
    ╰── GwyResource
        ╰── GwyGLMaterial

Includes

#include <libdraw/gwydraw.h>

Description

GwyGLMaterial represents an OpenGL material. Its properties directly map to corresponding OpenGL material characteristics, all are in the range [0,1].

Gradient objects can be obtained from gwy_gl_materials_get_gl_material(). New GL materials can be created with gwy_inventory_new_item() on the GwyInventory returned by gwy_gl_materials().

Functions

gwy_gl_material_get_ambient ()

const GwyRGBA *
gwy_gl_material_get_ambient (GwyGLMaterial *gl_material);

Gets the ambient reflectance of a GL material.

Parameters

gl_material

A GL material.

 

Returns

Ambient reflectance (owned by GL material, must not be modified nor freed).

gwy_gl_material_set_ambient ()

void
gwy_gl_material_set_ambient (GwyGLMaterial *gl_material,
                             const GwyRGBA *ambient);

Sets the ambient reflectance of a GL material.

Parameters

gl_material

A GL material.

 

ambient

Ambient reflectance.

 

gwy_gl_material_get_diffuse ()

const GwyRGBA *
gwy_gl_material_get_diffuse (GwyGLMaterial *gl_material);

Gets the diffuse reflectance of a GL material.

Parameters

gl_material

A GL material.

 

Returns

Diffuse reflectance (owned by GL material, must not be modified nor freed).

gwy_gl_material_set_diffuse ()

void
gwy_gl_material_set_diffuse (GwyGLMaterial *gl_material,
                             const GwyRGBA *diffuse);

Sets the diffuse reflectance of a GL material.

Parameters

gl_material

A GL material.

 

diffuse

Diffuse reflectance.

 

gwy_gl_material_get_specular ()

const GwyRGBA *
gwy_gl_material_get_specular (GwyGLMaterial *gl_material);

Gets the specular reflectance of a GL material.

Parameters

gl_material

A GL material.

 

Returns

Specular reflectance (owned by GL material, must not be modified nor freed).

gwy_gl_material_set_specular ()

void
gwy_gl_material_set_specular (GwyGLMaterial *gl_material,
                              const GwyRGBA *specular);

Sets the specular reflectance of a GL material.

Parameters

gl_material

A GL material.

 

specular

Specular reflectance.

 

gwy_gl_material_get_emission ()

const GwyRGBA *
gwy_gl_material_get_emission (GwyGLMaterial *gl_material);

Gets the emission component of a GL material.

Parameters

gl_material

A GL material.

 

Returns

Emission component (owned by GL material, must not be modified nor freed).

gwy_gl_material_set_emission ()

void
gwy_gl_material_set_emission (GwyGLMaterial *gl_material,
                              const GwyRGBA *emission);

Sets the emission component of a GL material.

Parameters

gl_material

A GL material.

 

emission

Emission component.

 

gwy_gl_material_get_shininess ()

gdouble
gwy_gl_material_get_shininess (GwyGLMaterial *gl_material);

Gets the shininess value of a GL material.

Parameters

gl_material

A GL material.

 

Returns

The shininess value (in range 0..1, not 0..128).

gwy_gl_material_set_shininess ()

void
gwy_gl_material_set_shininess (GwyGLMaterial *gl_material,
                               gdouble shininess);

Sets the shininess value of a GL material.

Parameters

gl_material

A GL material.

 

shininess

Shinniness value (in range 0..1, not 0..128).

 

gwy_gl_material_sample_to_pixbuf ()

void
gwy_gl_material_sample_to_pixbuf (GwyGLMaterial *gl_material,
                                  GdkPixbuf *pixbuf);

Samples GL material to a provided pixbuf.

Parameters

gl_material

A GL material to sample.

 

pixbuf

A pixbuf to sample gl_material to (in horizontal direction).

 

gwy_gl_material_reset ()

void
gwy_gl_material_reset (GwyGLMaterial *gl_material);

Resets a GL material to default values.

Parameters

gl_material

A GL material.

 

gwy_gl_materials ()

GwyInventory *
gwy_gl_materials (void);

Gets inventory with all the GL materials.

Returns

GL material inventory.

gwy_gl_materials_get_gl_material ()

GwyGLMaterial *
gwy_gl_materials_get_gl_material (const gchar *name);

Convenience function to get a GL material from gwy_gl_materials() by name.

Parameters

name

GL material name. May be NULL to get the default GL material.

 

Returns

GL material identified by name or the default GL material if name does not exist.

Types and Values

GWY_GL_MATERIAL_DEFAULT

#define GWY_GL_MATERIAL_DEFAULT "OpenGL-Default"

The name of the default OpenGL material.

It is guaranteed to always exist.

Note this is not the same as user's default material which corresponds to the default item in gwy_gl_materials() inventory and it change over time.

GWY_GL_MATERIAL_NONE

#define GWY_GL_MATERIAL_NONE    "None"

The name of special void material with all characteristics zero.

It is guaranteed to exist, but you should rarely actually need it.

struct GwyGLMaterial

struct GwyGLMaterial;

The GwyGLMaterial struct contains private data only and should be accessed using the functions below.

struct GwyGLMaterialClass

struct GwyGLMaterialClass {
};

GwyGLMaterialClass does not contain any public members.

See Also

Gwy3DView -- 3D data display widget, GwyRGBA -- representation of color components, GwyInventory -- the container holding all GL materials

© David Nečas and Petr Klapetek

Home Download News Features Screenshots Documentation Communicate Participate Resources Publications Applications Site Map

Valid XHTML 1.0 Valid CSS