OpenGothic
Open source reimplementation of Gothic I and II
Loading...
Searching...
No Matches
Material Class Referencefinal

#include <material.h>

Public Types

enum  AlphaFunc : uint8_t {
  Solid , AlphaTest , Water , Ghost ,
  Multiply , Multiply2 , Transparent , AdditiveLight
}
 

Public Member Functions

 Material ()=default
 
 Material (const zenkit::Material &m, bool enableAlphaTest)
 
 Material (const zenkit::VisualDecal &decal)
 
 Material (const zenkit::IParticleEffect &src)
 
bool operator== (const Material &other) const
 
bool isSolid () const
 
bool hasFrameAnimation () const
 
bool hasUvAnimation () const
 
bool isTesselated () const
 
bool isForwardShading () const
 
bool isSceneInfoRequired () const
 
bool isShadowmapRequired () const
 
bool isTextureInShadowPass () const
 

Static Public Member Functions

static bool isTesselated (AlphaFunc alpha)
 
static bool isForwardShading (AlphaFunc alpha)
 
static bool isSceneInfoRequired (AlphaFunc alpha)
 
static bool isShadowmapRequired (AlphaFunc alpha)
 
static bool isTextureInShadowPass (AlphaFunc alpha)
 

Public Attributes

const Tempest::Texture2d * tex =nullptr
 
std::vector< const Tempest::Texture2d * > frames
 
AlphaFunc alpha = AlphaTest
 
float alphaWeight = 1
 
Tempest::Point texAniMapDirPeriod
 
uint64_t texAniFPSInv = 1
 
bool isGhost = false
 
float waveMaxAmplitude = 0
 
float envMapping = 0
 

Detailed Description

Definition at line 10 of file material.h.

Member Enumeration Documentation

◆ AlphaFunc

enum Material::AlphaFunc : uint8_t
Enumerator
Solid 
AlphaTest 
Water 
Ghost 
Multiply 
Multiply2 
Transparent 
AdditiveLight 

Definition at line 17 of file material.h.

Constructor & Destructor Documentation

◆ Material() [1/4]

Material::Material ( )
default

◆ Material() [2/4]

Material::Material ( const zenkit::Material &  m,
bool  enableAlphaTest 
)

Definition at line 13 of file material.cpp.

◆ Material() [3/4]

Material::Material ( const zenkit::VisualDecal &  decal)

Definition at line 47 of file material.cpp.

◆ Material() [4/4]

Material::Material ( const zenkit::IParticleEffect &  src)

Definition at line 57 of file material.cpp.

Member Function Documentation

◆ hasFrameAnimation()

bool Material::hasFrameAnimation ( ) const
inline

Definition at line 42 of file material.h.

◆ hasUvAnimation()

bool Material::hasUvAnimation ( ) const
inline

Definition at line 43 of file material.h.

◆ isForwardShading() [1/2]

bool Material::isForwardShading ( ) const
inline

Definition at line 45 of file material.h.

◆ isForwardShading() [2/2]

bool Material::isForwardShading ( AlphaFunc  alpha)
static

Definition at line 81 of file material.cpp.

◆ isSceneInfoRequired() [1/2]

bool Material::isSceneInfoRequired ( ) const
inline

Definition at line 46 of file material.h.

◆ isSceneInfoRequired() [2/2]

bool Material::isSceneInfoRequired ( AlphaFunc  alpha)
static

Definition at line 85 of file material.cpp.

◆ isShadowmapRequired() [1/2]

bool Material::isShadowmapRequired ( ) const
inline

Definition at line 47 of file material.h.

◆ isShadowmapRequired() [2/2]

bool Material::isShadowmapRequired ( AlphaFunc  alpha)
static

Definition at line 89 of file material.cpp.

◆ isSolid()

bool Material::isSolid ( ) const

Definition at line 77 of file material.cpp.

◆ isTesselated() [1/2]

bool Material::isTesselated ( ) const
inline

Definition at line 44 of file material.h.

◆ isTesselated() [2/2]

bool Material::isTesselated ( AlphaFunc  alpha)
static

Definition at line 99 of file material.cpp.

◆ isTextureInShadowPass() [1/2]

bool Material::isTextureInShadowPass ( ) const
inline

Definition at line 48 of file material.h.

◆ isTextureInShadowPass() [2/2]

bool Material::isTextureInShadowPass ( AlphaFunc  alpha)
static

Definition at line 95 of file material.cpp.

◆ operator==()

bool Material::operator== ( const Material other) const

Definition at line 65 of file material.cpp.

Member Data Documentation

◆ alpha

AlphaFunc Material::alpha = AlphaTest

Definition at line 30 of file material.h.

◆ alphaWeight

float Material::alphaWeight = 1

Definition at line 31 of file material.h.

◆ envMapping

float Material::envMapping = 0

Definition at line 36 of file material.h.

◆ frames

std::vector<const Tempest::Texture2d*> Material::frames

Definition at line 29 of file material.h.

◆ isGhost

bool Material::isGhost = false

Definition at line 34 of file material.h.

◆ tex

const Tempest::Texture2d* Material::tex =nullptr

Definition at line 28 of file material.h.

◆ texAniFPSInv

uint64_t Material::texAniFPSInv = 1

Definition at line 33 of file material.h.

◆ texAniMapDirPeriod

Tempest::Point Material::texAniMapDirPeriod

Definition at line 32 of file material.h.

◆ waveMaxAmplitude

float Material::waveMaxAmplitude = 0

Definition at line 35 of file material.h.


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