LightsprintSDK 2021.08.08
|
#include <RRMaterial.h>
Public Member Functions | |
RRPointMaterial & | operator= (const RRMaterial &a) |
RRPointMaterial & | operator= (const RRPointMaterial &a) |
~RRPointMaterial () | |
Public Member Functions inherited from rr::RRMaterial | |
RRMaterial () | |
void | copyFrom (const RRMaterial &from) |
bool | operator== (const RRMaterial &a) const |
void | reset (bool twoSided) |
void | updateColorsFromTextures (const RRColorSpace *colorSpace, UniformTextureAction uniformTextureAction, bool updateEvenFromStubs) |
unsigned | createTexturesFromColors () |
void | updateKeyingFromTransmittance () |
void | updateSideBitsFromColors () |
void | updateBumpMapType () |
bool | validate (RRReal redistributedPhotonsLimit=0.98f) |
void | convertFromLinear (const RRColorSpace *colorSpace) |
void | convertToLinear (const RRColorSpace *colorSpace) |
bool | needsBlending () const |
~RRMaterial () | |
void | getResponse (Response &response, BrdfType type=BRDF_ALL) const |
void | sampleResponse (Response &response, const RRVec3 &randomness, BrdfType type=BRDF_ALL) const |
bool | load (const RRString &filename, RRFileLocator *textureLocator) |
bool | save (const RRString &filename) const |
Public Member Functions inherited from rr::RRUniformlyAllocated | |
void * | operator new (std::size_t n) |
void * | operator new[] (std::size_t n) |
void | operator delete (void *p, std::size_t n) |
void | operator delete[] (void *p, std::size_t n) |
RRMaterial optimized for use in RRObject::getPointMaterial(), not for general use.
RRPointMaterial creates and destructs faster than RRMaterial, because it does not own textures and name, it's just shallow copy for immediate consumption. So never manipulate textures and name in point materials.
rr::RRPointMaterial::~RRPointMaterial | ( | ) |
Unlike RRMaterial, RRPointMaterial does not delete textures and name.
RRPointMaterial & rr::RRPointMaterial::operator= | ( | const RRMaterial & | a | ) |
Fast and thread safe copy. getPointMaterial() implementations use it to copy triangle material to point material.
RRPointMaterial & rr::RRPointMaterial::operator= | ( | const RRPointMaterial & | a | ) |
Makes it possible to store pointmaterials in vector.