Duckcpp 2.1.0
Duckcpp is a high-performance c++ graphics engine.
Loading...
Searching...
No Matches
dcpp::scene::IQ3LevelMesh Class Referenceabstract

Interface for a Mesh which can be loaded directly from a Quake3 .bsp-file. More...

#include <duckcpp/core/engine/IQ3LevelMesh.hpp>

Inheritance diagram for dcpp::scene::IQ3LevelMesh:
Inheritance graph
Collaboration diagram for dcpp::scene::IQ3LevelMesh:
Collaboration graph

Public Member Functions

virtual const quake3::IShadergetShader (const dcpp::char_kt *filename, bool fileNameIsValid=true)=0
 loads the shader definition from file
 
virtual const quake3::IShadergetShader (dcpp::uint32_kt index) const =0
 returns a already loaded Shader
 
virtual quake3::tQ3EntityListgetEntityList ()=0
 get's an interface to the entities
 
virtual IMeshgetBrushEntityMesh (dcpp::int32_kt num) const =0
 returns the requested brush entity
 
virtual IMeshgetBrushEntityMesh (quake3::IEntity &ent) const =0
 returns the requested brush entity
 
- Public Member Functions inherited from dcpp::scene::IAnimatedMesh
virtual dcpp::uint32_kt getFrameCount () const =0
 Gets the frame count of the animated mesh.
 
virtual dcpp::float32_kt getAnimationSpeed () const =0
 Gets the animation speed of the animated mesh.
 
virtual void setAnimationSpeed (dcpp::float32_kt fps)=0
 Sets the animation speed of the animated mesh.
 
virtual IMeshgetMesh (dcpp::int32_kt frame, dcpp::int32_kt detailLevel=255, dcpp::int32_kt startFrameLoop=-1, dcpp::int32_kt endFrameLoop=-1)=0
 Returns the IMesh interface for a frame.
 
virtual E_ANIMATED_MESH_TYPE getMeshType () const override
 Returns the type of the animated mesh.
 
- Public Member Functions inherited from dcpp::scene::IMesh
virtual dcpp::uint32_kt getMeshBufferCount () const =0
 Get the amount of mesh buffers.
 
virtual IMeshBuffergetMeshBuffer (dcpp::uint32_kt nr) const =0
 Get pointer to a mesh buffer.
 
virtual IMeshBuffergetMeshBuffer (const dcpp::video::SMaterial &material) const =0
 Get pointer to a mesh buffer which fits a material.
 
virtual const dcpp::nub::aabbox3dfgetBoundingBox () const =0
 Get an axis aligned bounding box of the mesh.
 
virtual void setBoundingBox (const dcpp::nub::aabbox3df &box)=0
 Set user-defined axis aligned bounding box.
 
virtual void setMaterialFlag (dcpp::video::E_MATERIAL_FLAG flag, bool newvalue)=0
 Sets a flag of all contained materials to a new value.
 
virtual void setHardwareMappingHint (E_HARDWARE_MAPPING newMappingHint, E_BUFFER_TYPE buffer=EBT_VERTEX_AND_INDEX)=0
 Set the hardware mapping hint.
 
virtual void setDirty (E_BUFFER_TYPE buffer=EBT_VERTEX_AND_INDEX)=0
 Flag the meshbuffer as changed, reloads hardware buffers.
 
- Public Member Functions inherited from dcpp::IReferenceCounted
 IReferenceCounted ()
 Constructor.
 
virtual ~IReferenceCounted ()
 Destructor.
 
void grab () const
 Grabs the object. Increments the reference counter by one.
 
bool drop () const
 Drops the object. Decrements the reference counter by one.
 
dcpp::int32_kt getReferenceCount () const
 Get the reference count.
 
const dcpp::char_ktgetDebugName () const
 Returns the debug name of the object.
 

Additional Inherited Members

- Protected Member Functions inherited from dcpp::IReferenceCounted
void setDebugName (const dcpp::char_kt *newName)
 Sets the debug name of the object.
 

Detailed Description

Interface for a Mesh which can be loaded directly from a Quake3 .bsp-file.

The Mesh tries to load all textures of the map.

Member Function Documentation

◆ getBrushEntityMesh()

virtual IMesh * dcpp::scene::IQ3LevelMesh::getBrushEntityMesh ( dcpp::int32_kt  num) const
pure virtual

returns the requested brush entity

Parameters
numThe number from the model key of the entity.

Use this interface if you parse the entities yourself.

◆ getShader()

virtual const quake3::IShader * dcpp::scene::IQ3LevelMesh::getShader ( const dcpp::char_kt filename,
bool  fileNameIsValid = true 
)
pure virtual

loads the shader definition from file

Parameters
filenameName of the shaderfile, defaults to /scripts if fileNameIsValid is false.
fileNameIsValidSpecifies whether the filename is valid in the current situation.

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

Duckcpp    @cppfx.xyz