Open CASCADE Technology 7.8.0
|
This is the texture root class enable the dialog with the GraphicDriver allows the loading of texture. More...
#include <Graphic3d_TextureRoot.hxx>
Public Member Functions | |
~Graphic3d_TextureRoot () | |
Destructor. | |
virtual Standard_Boolean | IsDone () const |
Checks if a texture class is valid or not. | |
const OSD_Path & | Path () const |
Returns the full path of the defined texture. It could be empty path if GetImage() is overridden to load image not from file. | |
Graphic3d_TypeOfTexture | Type () const |
const TCollection_AsciiString & | GetId () const |
This ID will be used to manage resource in graphic driver. | |
Standard_Size | Revision () const |
Return image revision. | |
void | UpdateRevision () |
Update image revision. Can be used for signaling changes in the texture source (e.g. file update, pixmap update) without re-creating texture source itself (since unique id should be never modified). | |
virtual Handle< Image_CompressedPixMap > | GetCompressedImage (const Handle< Image_SupportedFormats > &theSupported) |
This method will be called by graphic driver each time when texture resource should be created. It is called in front of GetImage() for uploading compressed image formats natively supported by GPU. | |
virtual Handle< Image_PixMap > | GetImage (const Handle< Image_SupportedFormats > &theSupported) |
This method will be called by graphic driver each time when texture resource should be created. Default constructors allow defining the texture source as path to texture image or directly as pixmap. If the source is defined as path, then the image will be dynamically loaded when this method is called (and no copy will be preserved in this class instance). Inheritors may dynamically generate the image. Notice, image data should be in Bottom-Up order (see Image_PixMap::IsTopDown())! | |
const Handle< Graphic3d_TextureParams > & | GetParams () const |
Standard_Boolean | IsColorMap () const |
Return flag indicating color nature of values within the texture; TRUE by default. | |
void | SetColorMap (Standard_Boolean theIsColor) |
Set flag indicating color nature of values within the texture. | |
Standard_Boolean | HasMipmaps () const |
Returns whether mipmaps should be generated or not. | |
void | SetMipmapsGeneration (Standard_Boolean theToGenerateMipmaps) |
Sets whether to generate mipmaps or not. | |
Standard_Boolean | IsTopDown () const |
Returns whether row's memory layout is top-down. | |
Public Member Functions inherited from Standard_Transient | |
Standard_Transient () | |
Empty constructor. | |
Standard_Transient (const Standard_Transient &) | |
Copy constructor – does nothing. | |
Standard_Transient & | operator= (const Standard_Transient &) |
Assignment operator, needed to avoid copying reference counter. | |
virtual | ~Standard_Transient () |
Destructor must be virtual. | |
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
Returns a type descriptor about this object. | |
Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
Returns a true value if this is an instance of Type. | |
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
Returns a true value if this is an instance of TypeName. | |
Standard_Boolean | IsKind (const opencascade::handle< Standard_Type > &theType) const |
Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. | |
Standard_Boolean | IsKind (const Standard_CString theTypeName) const |
Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. | |
Standard_Transient * | This () const |
Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero. | |
Standard_Integer | GetRefCount () const noexcept |
Get the reference counter of this object. | |
void | IncrementRefCounter () noexcept |
Increments the reference counter of this object. | |
Standard_Integer | DecrementRefCounter () noexcept |
Decrements the reference counter of this object; returns the decremented value. | |
virtual void | Delete () const |
Memory deallocator for transient classes. | |
Static Public Member Functions | |
static TCollection_AsciiString | TexturesFolder () |
The path to textures determined from CSF_MDTVTexturesDirectory or CASROOT environment variables. | |
Static Public Member Functions inherited from Standard_Transient | |
static constexpr const char * | get_type_name () |
Returns a type descriptor about this object. | |
static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
Returns type descriptor of Standard_Transient class. | |
Protected Member Functions | |
Graphic3d_TextureRoot (const TCollection_AsciiString &theFileName, const Graphic3d_TypeOfTexture theType) | |
Creates a texture from a file Warning: Note that if <FileName> is NULL the texture must be realized using LoadTexture(image) method. | |
Graphic3d_TextureRoot (const Handle< Image_PixMap > &thePixmap, const Graphic3d_TypeOfTexture theType) | |
Creates a texture from pixmap. Please note that the implementation expects the image data to be in Bottom-Up order (see Image_PixMap::IsTopDown()). | |
void | generateId () |
Unconditionally generate new texture id. Should be called only within constructor. | |
virtual Handle< Image_PixMap > | GetImage () const |
Method for supporting old API; another GetImage() method should be implemented instead. | |
Static Protected Member Functions | |
static void | convertToCompatible (const Handle< Image_SupportedFormats > &theSupported, const Handle< Image_PixMap > &theImage) |
Try converting image to compatible format. | |
Protected Attributes | |
Handle< Graphic3d_TextureParams > | myParams |
associated texture parameters | |
TCollection_AsciiString | myTexId |
unique identifier of this resource (for sharing graphic resource); should never be modified outside constructor | |
Handle< Image_PixMap > | myPixMap |
image pixmap - as one of the ways for defining the texture source | |
OSD_Path | myPath |
image file path - as one of the ways for defining the texture source | |
Standard_Size | myRevision |
image revision - for signaling changes in the texture source (e.g. file update, pixmap update) | |
Graphic3d_TypeOfTexture | myType |
texture type | |
Standard_Boolean | myIsColorMap |
flag indicating color nature of values within the texture | |
Standard_Boolean | myIsTopDown |
Stores rows's memory layout. | |
Standard_Boolean | myHasMipmaps |
Indicates whether mipmaps should be generated or not. | |
Additional Inherited Members | |
Public Types inherited from Standard_Transient | |
typedef void | base_type |
Returns a type descriptor about this object. | |
This is the texture root class enable the dialog with the GraphicDriver allows the loading of texture.
Graphic3d_TextureRoot::~Graphic3d_TextureRoot | ( | ) |
Destructor.
|
protected |
Creates a texture from a file Warning: Note that if <FileName> is NULL the texture must be realized using LoadTexture(image) method.
|
protected |
Creates a texture from pixmap. Please note that the implementation expects the image data to be in Bottom-Up order (see Image_PixMap::IsTopDown()).
|
staticprotected |
Try converting image to compatible format.
|
protected |
Unconditionally generate new texture id. Should be called only within constructor.
|
virtual |
This method will be called by graphic driver each time when texture resource should be created. It is called in front of GetImage() for uploading compressed image formats natively supported by GPU.
theSupported | [in] the list of supported compressed texture formats; returning image in unsupported format will result in texture upload failure |
Reimplemented in XCAFPrs_Texture.
|
inline |
This ID will be used to manage resource in graphic driver.
Default implementation generates unique ID within constructor; inheritors may re-initialize it within their constructor, but should never modify it afterwards.
Multiple Graphic3d_TextureRoot instances with same ID will be treated as single texture with different parameters to optimize memory usage though this will be more natural to use same instance of Graphic3d_TextureRoot when possible.
If this ID is set to empty string by inheritor, then independent graphical resource will be created for each instance of Graphic3d_AspectFillArea3d where texture will be used.
|
inlineprotectedvirtual |
Method for supporting old API; another GetImage() method should be implemented instead.
|
virtual |
This method will be called by graphic driver each time when texture resource should be created. Default constructors allow defining the texture source as path to texture image or directly as pixmap. If the source is defined as path, then the image will be dynamically loaded when this method is called (and no copy will be preserved in this class instance). Inheritors may dynamically generate the image. Notice, image data should be in Bottom-Up order (see Image_PixMap::IsTopDown())!
Reimplemented in Graphic3d_CubeMapSeparate, Graphic3d_MediaTexture, Graphic3d_Texture3D, and XCAFPrs_Texture.
|
inline |
|
inline |
Returns whether mipmaps should be generated or not.
|
inline |
Return flag indicating color nature of values within the texture; TRUE by default.
This flag will be used to interpret 8-bit per channel RGB(A) images as sRGB(A) textures with implicit linearizion of color components. Has no effect on images with floating point values (always considered linearized).
When set to FALSE, such images will be interpreted as textures will be linear component values, which is useful for RGB(A) textures defining non-color properties (like Normalmap/Metalness/Roughness).
|
virtual |
Checks if a texture class is valid or not.
Reimplemented in Graphic3d_CubeMapSeparate.
|
inline |
Returns whether row's memory layout is top-down.
Returns the full path of the defined texture. It could be empty path if GetImage() is overridden to load image not from file.
|
inline |
Return image revision.
|
inline |
Set flag indicating color nature of values within the texture.
|
inline |
Sets whether to generate mipmaps or not.
|
static |
The path to textures determined from CSF_MDTVTexturesDirectory or CASROOT environment variables.
|
inline |
|
inline |
Update image revision. Can be used for signaling changes in the texture source (e.g. file update, pixmap update) without re-creating texture source itself (since unique id should be never modified).
|
protected |
Indicates whether mipmaps should be generated or not.
|
protected |
flag indicating color nature of values within the texture
|
protected |
Stores rows's memory layout.
|
protected |
associated texture parameters
|
protected |
image file path - as one of the ways for defining the texture source
|
protected |
image pixmap - as one of the ways for defining the texture source
|
protected |
image revision - for signaling changes in the texture source (e.g. file update, pixmap update)
|
protected |
unique identifier of this resource (for sharing graphic resource); should never be modified outside constructor
|
protected |
texture type