Visualization Library v1.0.3

A lightweight C++ OpenGL middleware for 2D/3D graphics

VL     Star     Watch     Fork     Issue

[Download] [Tutorials] [All Classes] [Grouped Classes]
Public Member Functions | Protected Attributes

vl::TextureMatrix Class Reference

The TextureMatrix class uses a 4x4 matrix to transform the texture coordinates of a texture unit. More...

#include <Shader.hpp>

Inheritance diagram for vl::TextureMatrix:
vl::RenderStateIndexed vl::RenderState vl::Object

List of all members.

Public Member Functions

 TextureMatrix ()
virtual ERenderState type () const
virtual void apply (int index, const Camera *, OpenGLContext *ctx) const
 The parameter cameara is NULL if we are disabling the state, non-NULL if we are enabling it.
const fmat4matrix () const
const TextureMatrixsetMatrix (const fmat4 &matrix)
void setUseCameraRotationInverse (bool use)
 Set this to true when you want your cubemap to appear in world space rather than eye space.
bool useCameraRotationInverse () const
virtual ref< RenderStateclone () const

Protected Attributes

fmat4 mMatrix
bool mUseCameraRotationInverse

Detailed Description

The TextureMatrix class uses a 4x4 matrix to transform the texture coordinates of a texture unit.

See also:
Shader, TextureSampler, Texture, TexGen, TexParameter, Effect, Actor

Definition at line 1539 of file Shader.hpp.


Constructor & Destructor Documentation

vl::TextureMatrix::TextureMatrix (  ) [inline]

Definition at line 1544 of file Shader.hpp.


Member Function Documentation

virtual ERenderState vl::TextureMatrix::type (  ) const [inline, virtual]

Reimplemented from vl::RenderState.

Definition at line 1546 of file Shader.hpp.

References vl::RS_TextureMatrix.

void TextureMatrix::apply ( int  index,
const Camera camera,
OpenGLContext ctx 
) const [virtual]

The parameter cameara is NULL if we are disabling the state, non-NULL if we are enabling it.

Implements vl::RenderState.

Definition at line 1119 of file Shader.cpp.

References vl::Matrix4< T_Scalar >::as3x3(), matrix(), vl::Camera::modelingMatrix(), useCameraRotationInverse(), VL_CHECK, VL_CHECK_OGL, VL_glLoadMatrix, and VL_MAX_TEXTURE_UNITS.

const fmat4& vl::TextureMatrix::matrix (  ) const [inline]

Definition at line 1550 of file Shader.hpp.

Referenced by apply().

const TextureMatrix& vl::TextureMatrix::setMatrix ( const fmat4 matrix ) [inline]

Definition at line 1552 of file Shader.hpp.

void vl::TextureMatrix::setUseCameraRotationInverse ( bool  use ) [inline]

Set this to true when you want your cubemap to appear in world space rather than eye space.

When setUseCameraRotationInverse() is true the texture matrix is computed as:

 matrix()*camera->modelingMatrix().as3x3() 

This way matrix() represents the transform of the texture in world coordinates, for example if you want to reorient your cubemap in world space or when you want to rotate the direction of one or more highlights prerendered in a cubemap.

Definition at line 1564 of file Shader.hpp.

bool vl::TextureMatrix::useCameraRotationInverse (  ) const [inline]

Definition at line 1566 of file Shader.hpp.

Referenced by apply().

virtual ref<RenderState> vl::TextureMatrix::clone (  ) const [inline, virtual]

Implements vl::RenderState.

Definition at line 1568 of file Shader.hpp.


Member Data Documentation

Definition at line 1576 of file Shader.hpp.

Definition at line 1577 of file Shader.hpp.


The documentation for this class was generated from the following files:

Visualization Library v1.0.3 Reference Documentation
Copyright Michele Bosi. All rights reserved.
Updated on Tue Feb 7 2017 00:55:12.
Permission is granted to use this page to write and publish articles regarding Visualization Library.