Loading...
Searching...
No Matches
IVideoDriver.h
Go to the documentation of this file.
// Copyright (C) 2002-2012 Nikolaus Gebhardt
// This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __IRR_I_VIDEO_DRIVER_H_INCLUDED__
#define __IRR_I_VIDEO_DRIVER_H_INCLUDED__
#include "rect.h"
#include "SColor.h"
#include "ITexture.h"
#include "irrArray.h"
#include "matrix4.h"
#include "plane3d.h"
#include "dimension2d.h"
#include "position2d.h"
#include "SMaterial.h"
#include "IMeshBuffer.h"
#include "triangle3d.h"
#include "EDriverTypes.h"
#include "EDriverFeatures.h"
#include "SExposedVideoData.h"
namespace irr
{
namespace io
{
class IAttributes;
struct SAttributeReadWriteOptions;
class IReadFile;
class IWriteFile;
} // end namespace io
namespace scene
{
class IMeshBuffer;
class IMesh;
class IMeshManipulator;
class ISceneNode;
} // end namespace scene
namespace video
{
struct S3DVertex;
struct S3DVertex2TCoords;
struct S3DVertexTangents;
struct SLight;
class IImageLoader;
class IImageWriter;
class IMaterialRenderer;
class IGPUProgrammingServices;
enum E_TRANSFORMATION_STATE
{
ETS_VIEW = 0,
ETS_WORLD,
ETS_PROJECTION,
ETS_TEXTURE_0,
ETS_TEXTURE_1,
ETS_TEXTURE_2,
ETS_TEXTURE_3,
#if _IRR_MATERIAL_MAX_TEXTURES_>4
ETS_TEXTURE_4,
#if _IRR_MATERIAL_MAX_TEXTURES_>5
ETS_TEXTURE_5,
#if _IRR_MATERIAL_MAX_TEXTURES_>6
ETS_TEXTURE_6,
#if _IRR_MATERIAL_MAX_TEXTURES_>7
ETS_TEXTURE_7,
#endif
#endif
#endif
#endif
ETS_COUNT
};
enum E_LOST_RESOURCE
{
ELR_DEVICE = 1,
ELR_TEXTURES = 2,
ELR_RTTS = 4,
ELR_HW_BUFFERS = 8
};
enum E_RENDER_TARGET
{
ERT_FRAME_BUFFER=0,
ERT_RENDER_TEXTURE,
ERT_MULTI_RENDER_TEXTURES,
ERT_STEREO_LEFT_BUFFER,
ERT_STEREO_RIGHT_BUFFER,
ERT_STEREO_BOTH_BUFFERS,
ERT_AUX_BUFFER0,
ERT_AUX_BUFFER1,
ERT_AUX_BUFFER2,
ERT_AUX_BUFFER3,
ERT_AUX_BUFFER4
};
enum E_FOG_TYPE
{
EFT_FOG_EXP=0,
EFT_FOG_LINEAR,
EFT_FOG_EXP2
};
const c8* const FogTypeNames[] =
{
"FogExp",
"FogLinear",
"FogExp2",
0
};
struct SOverrideMaterial
{
SMaterial Material;
u32 EnableFlags;
u16 EnablePasses;
bool Enabled;
SOverrideMaterial() : EnableFlags(0), EnablePasses(0), Enabled(false) {}
void apply(SMaterial& material)
{
if (Enabled)
{
for (u32 i=0; i<32; ++i)
{
const u32 num=(1<<i);
if (EnableFlags & num)
{
switch (num)
{
case EMF_WIREFRAME: material.Wireframe = Material.Wireframe; break;
case EMF_POINTCLOUD: material.PointCloud = Material.PointCloud; break;
case EMF_GOURAUD_SHADING: material.GouraudShading = Material.GouraudShading; break;
case EMF_LIGHTING: material.Lighting = Material.Lighting; break;
case EMF_ZBUFFER: material.ZBuffer = Material.ZBuffer; break;
case EMF_ZWRITE_ENABLE: material.ZWriteEnable = Material.ZWriteEnable; break;
case EMF_BACK_FACE_CULLING: material.BackfaceCulling = Material.BackfaceCulling; break;
case EMF_FRONT_FACE_CULLING: material.FrontfaceCulling = Material.FrontfaceCulling; break;
case EMF_BILINEAR_FILTER: material.TextureLayer[0].BilinearFilter = Material.TextureLayer[0].BilinearFilter; break;
case EMF_TRILINEAR_FILTER: material.TextureLayer[0].TrilinearFilter = Material.TextureLayer[0].TrilinearFilter; break;
case EMF_ANISOTROPIC_FILTER: material.TextureLayer[0].AnisotropicFilter = Material.TextureLayer[0].AnisotropicFilter; break;
case EMF_FOG_ENABLE: material.FogEnable = Material.FogEnable; break;
case EMF_NORMALIZE_NORMALS: material.NormalizeNormals = Material.NormalizeNormals; break;
case EMF_TEXTURE_WRAP:
material.TextureLayer[0].TextureWrapU = Material.TextureLayer[0].TextureWrapU;
material.TextureLayer[0].TextureWrapV = Material.TextureLayer[0].TextureWrapV;
break;
case EMF_ANTI_ALIASING: material.AntiAliasing = Material.AntiAliasing; break;
case EMF_COLOR_MASK: material.ColorMask = Material.ColorMask; break;
case EMF_COLOR_MATERIAL: material.ColorMaterial = Material.ColorMaterial; break;
case EMF_USE_MIP_MAPS: material.UseMipMaps = Material.UseMipMaps; break;
case EMF_BLEND_OPERATION: material.BlendOperation = Material.BlendOperation; break;
case EMF_POLYGON_OFFSET:
material.PolygonOffsetDirection = Material.PolygonOffsetDirection;
material.PolygonOffsetFactor = Material.PolygonOffsetFactor; break;
}
}
}
}
}
};
struct IRenderTarget
{
IRenderTarget(ITexture* texture,
E_COLOR_PLANE colorMask=ECP_ALL,
E_BLEND_FACTOR blendFuncSrc=EBF_ONE,
E_BLEND_FACTOR blendFuncDst=EBF_ONE_MINUS_SRC_ALPHA,
E_BLEND_OPERATION blendOp=EBO_NONE) :
RenderTexture(texture),
TargetType(ERT_RENDER_TEXTURE), ColorMask(colorMask),
BlendFuncSrc(blendFuncSrc), BlendFuncDst(blendFuncDst),
BlendOp(blendOp) {}
IRenderTarget(E_RENDER_TARGET target,
E_COLOR_PLANE colorMask=ECP_ALL,
E_BLEND_FACTOR blendFuncSrc=EBF_ONE,
E_BLEND_FACTOR blendFuncDst=EBF_ONE_MINUS_SRC_ALPHA,
E_BLEND_OPERATION blendOp=EBO_NONE) :
RenderTexture(0),
TargetType(target), ColorMask(colorMask),
BlendFuncSrc(blendFuncSrc), BlendFuncDst(blendFuncDst),
BlendOp(blendOp) {}
bool operator!=(const IRenderTarget& other) const
{
return ((RenderTexture != other.RenderTexture) ||
(TargetType != other.TargetType) ||
(ColorMask != other.ColorMask) ||
(BlendFuncSrc != other.BlendFuncSrc) ||
(BlendFuncDst != other.BlendFuncDst) ||
(BlendOp != other.BlendOp));
}
ITexture* RenderTexture;
E_RENDER_TARGET TargetType:8;
E_COLOR_PLANE ColorMask:8;
E_BLEND_FACTOR BlendFuncSrc:4;
E_BLEND_FACTOR BlendFuncDst:4;
E_BLEND_OPERATION BlendOp:4;
};
class IVideoDriver : public virtual IReferenceCounted
{
public:
virtual bool beginScene(bool backBuffer=true, bool zBuffer=true,
SColor color=SColor(255,0,0,0),
const SExposedVideoData& videoData=SExposedVideoData(),
core::rect<s32>* sourceRect=0) =0;
virtual bool endScene() =0;
virtual bool queryFeature(E_VIDEO_DRIVER_FEATURE feature) const =0;
virtual void disableFeature(E_VIDEO_DRIVER_FEATURE feature, bool flag=true) =0;
virtual const io::IAttributes& getDriverAttributes() const=0;
virtual bool checkDriverReset() =0;
virtual void setTransform(E_TRANSFORMATION_STATE state, const core::matrix4& mat) =0;
virtual const core::matrix4& getTransform(E_TRANSFORMATION_STATE state) const =0;
virtual u32 getImageLoaderCount() const = 0;
virtual IImageLoader* getImageLoader(u32 n) = 0;
virtual u32 getImageWriterCount() const = 0;
virtual IImageWriter* getImageWriter(u32 n) = 0;
virtual void setMaterial(const SMaterial& material) =0;
virtual ITexture* getTexture(const io::path& filename) = 0;
virtual ITexture* getTexture(io::IReadFile* file) =0;
virtual ITexture* getTextureByIndex(u32 index) =0;
virtual u32 getTextureCount() const = 0;
virtual void renameTexture(ITexture* texture, const io::path& newName) = 0;
virtual ITexture* addTexture(const core::dimension2d<u32>& size,
const io::path& name, ECOLOR_FORMAT format = ECF_A8R8G8B8) = 0;
virtual ITexture* addTexture(const io::path& name, IImage* image, void* mipmapData=0) = 0;
virtual ITexture* addRenderTargetTexture(const core::dimension2d<u32>& size,
const io::path& name = "rt", const ECOLOR_FORMAT format = ECF_UNKNOWN) =0;
virtual void removeTexture(ITexture* texture) =0;
virtual void removeAllTextures() =0;
virtual void removeHardwareBuffer(const scene::IMeshBuffer* mb) =0;
virtual void removeAllHardwareBuffers() =0;
virtual void addOcclusionQuery(scene::ISceneNode* node,
const scene::IMesh* mesh=0) =0;
virtual void removeOcclusionQuery(scene::ISceneNode* node) =0;
virtual void removeAllOcclusionQueries() =0;
virtual void runOcclusionQuery(scene::ISceneNode* node, bool visible=false) =0;
virtual void runAllOcclusionQueries(bool visible=false) =0;
virtual void updateOcclusionQuery(scene::ISceneNode* node, bool block=true) =0;
virtual void updateAllOcclusionQueries(bool block=true) =0;
virtual u32 getOcclusionQueryResult(scene::ISceneNode* node) const =0;
virtual void makeColorKeyTexture(video::ITexture* texture,
video::SColor color,
bool zeroTexels = false) const =0;
virtual void makeColorKeyTexture(video::ITexture* texture,
core::position2d<s32> colorKeyPixelPos,
bool zeroTexels = false) const =0;
virtual void makeNormalMapTexture(video::ITexture* texture, f32 amplitude=1.0f) const =0;
virtual bool setRenderTarget(video::ITexture* texture,
bool clearBackBuffer=true, bool clearZBuffer=true,
SColor color=video::SColor(0,0,0,0)) =0;
virtual bool setRenderTarget(E_RENDER_TARGET target, bool clearTarget=true,
bool clearZBuffer=true,
SColor color=video::SColor(0,0,0,0)) =0;
virtual bool setRenderTarget(const core::array<video::IRenderTarget>& texture,
bool clearBackBuffer=true, bool clearZBuffer=true,
SColor color=video::SColor(0,0,0,0)) =0;
virtual void setViewPort(const core::rect<s32>& area) =0;
virtual const core::rect<s32>& getViewPort() const =0;
virtual void drawVertexPrimitiveList(const void* vertices, u32 vertexCount,
const void* indexList, u32 primCount,
E_VERTEX_TYPE vType=EVT_STANDARD,
scene::E_PRIMITIVE_TYPE pType=scene::EPT_TRIANGLES,
E_INDEX_TYPE iType=EIT_16BIT) =0;
virtual void draw2DVertexPrimitiveList(const void* vertices, u32 vertexCount,
const void* indexList, u32 primCount,
E_VERTEX_TYPE vType=EVT_STANDARD,
scene::E_PRIMITIVE_TYPE pType=scene::EPT_TRIANGLES,
E_INDEX_TYPE iType=EIT_16BIT) =0;
void drawIndexedTriangleList(const S3DVertex* vertices,
u32 vertexCount, const u16* indexList, u32 triangleCount)
{
drawVertexPrimitiveList(vertices, vertexCount, indexList, triangleCount, EVT_STANDARD, scene::EPT_TRIANGLES, EIT_16BIT);
}
void drawIndexedTriangleList(const S3DVertex2TCoords* vertices,
u32 vertexCount, const u16* indexList, u32 triangleCount)
{
drawVertexPrimitiveList(vertices, vertexCount, indexList, triangleCount, EVT_2TCOORDS, scene::EPT_TRIANGLES, EIT_16BIT);
}
void drawIndexedTriangleList(const S3DVertexTangents* vertices,
u32 vertexCount, const u16* indexList, u32 triangleCount)
{
drawVertexPrimitiveList(vertices, vertexCount, indexList, triangleCount, EVT_TANGENTS, scene::EPT_TRIANGLES, EIT_16BIT);
}
void drawIndexedTriangleFan(const S3DVertex* vertices,
u32 vertexCount, const u16* indexList, u32 triangleCount)
{
drawVertexPrimitiveList(vertices, vertexCount, indexList, triangleCount, EVT_STANDARD, scene::EPT_TRIANGLE_FAN, EIT_16BIT);
}
void drawIndexedTriangleFan(const S3DVertex2TCoords* vertices,
u32 vertexCount, const u16* indexList, u32 triangleCount)
{
drawVertexPrimitiveList(vertices, vertexCount, indexList, triangleCount, EVT_2TCOORDS, scene::EPT_TRIANGLE_FAN, EIT_16BIT);
}
void drawIndexedTriangleFan(const S3DVertexTangents* vertices,
u32 vertexCount, const u16* indexList, u32 triangleCount)
{
drawVertexPrimitiveList(vertices, vertexCount, indexList, triangleCount, EVT_TANGENTS, scene::EPT_TRIANGLE_FAN, EIT_16BIT);
}
virtual void draw3DLine(const core::vector3df& start,
const core::vector3df& end, SColor color = SColor(255,255,255,255)) =0;
virtual void draw3DTriangle(const core::triangle3df& triangle,
SColor color = SColor(255,255,255,255)) =0;
virtual void draw3DBox(const core::aabbox3d<f32>& box,
SColor color = SColor(255,255,255,255)) =0;
virtual void draw2DImage(const video::ITexture* texture,
const core::position2d<s32>& destPos) =0;
virtual void draw2DImage(const video::ITexture* texture, const core::position2d<s32>& destPos,
const core::rect<s32>& sourceRect, const core::rect<s32>* clipRect =0,
SColor color=SColor(255,255,255,255), bool useAlphaChannelOfTexture=false) =0;
virtual void draw2DImageBatch(const video::ITexture* texture,
const core::position2d<s32>& pos,
const core::array<core::rect<s32> >& sourceRects,
const core::array<s32>& indices,
s32 kerningWidth=0,
const core::rect<s32>* clipRect=0,
SColor color=SColor(255,255,255,255),
bool useAlphaChannelOfTexture=false) =0;
virtual void draw2DImageBatch(const video::ITexture* texture,
const core::array<core::position2d<s32> >& positions,
const core::array<core::rect<s32> >& sourceRects,
const core::rect<s32>* clipRect=0,
SColor color=SColor(255,255,255,255),
bool useAlphaChannelOfTexture=false) =0;
virtual void draw2DImage(const video::ITexture* texture, const core::rect<s32>& destRect,
const core::rect<s32>& sourceRect, const core::rect<s32>* clipRect =0,
const video::SColor * const colors=0, bool useAlphaChannelOfTexture=false) =0;
virtual void draw2DRectangle(SColor color, const core::rect<s32>& pos,
const core::rect<s32>* clip =0) =0;
virtual void draw2DRectangle(const core::rect<s32>& pos,
SColor colorLeftUp, SColor colorRightUp,
SColor colorLeftDown, SColor colorRightDown,
const core::rect<s32>* clip =0) =0;
virtual void draw2DRectangleOutline(const core::recti& pos,
SColor color=SColor(255,255,255,255)) =0;
virtual void draw2DLine(const core::position2d<s32>& start,
const core::position2d<s32>& end,
SColor color=SColor(255,255,255,255)) =0;
virtual void drawPixel(u32 x, u32 y, const SColor& color) =0;
virtual void draw2DPolygon(core::position2d<s32> center,
f32 radius,
video::SColor color=SColor(100,255,255,255),
s32 vertexCount=10) =0;
virtual void drawStencilShadowVolume(const core::array<core::vector3df>& triangles, bool zfail=true, u32 debugDataVisible=0) =0;
virtual void drawStencilShadow(bool clearStencilBuffer=false,
video::SColor leftUpEdge = video::SColor(255,0,0,0),
video::SColor rightUpEdge = video::SColor(255,0,0,0),
video::SColor leftDownEdge = video::SColor(255,0,0,0),
video::SColor rightDownEdge = video::SColor(255,0,0,0)) =0;
virtual void drawMeshBuffer(const scene::IMeshBuffer* mb) =0;
virtual void drawMeshBufferNormals(const scene::IMeshBuffer* mb, f32 length=10.f, SColor color=0xffffffff) =0;
virtual void setFog(SColor color=SColor(0,255,255,255),
E_FOG_TYPE fogType=EFT_FOG_LINEAR,
f32 start=50.0f, f32 end=100.0f, f32 density=0.01f,
bool pixelFog=false, bool rangeFog=false) =0;
virtual void getFog(SColor& color, E_FOG_TYPE& fogType,
f32& start, f32& end, f32& density,
bool& pixelFog, bool& rangeFog) = 0;
virtual ECOLOR_FORMAT getColorFormat() const =0;
virtual const core::dimension2d<u32>& getScreenSize() const =0;
virtual const core::dimension2d<u32>& getCurrentRenderTargetSize() const =0;
virtual s32 getFPS() const =0;
virtual u32 getPrimitiveCountDrawn( u32 mode =0 ) const =0;
virtual void deleteAllDynamicLights() =0;
virtual s32 addDynamicLight(const SLight& light) =0;
virtual u32 getMaximalDynamicLightAmount() const =0;
virtual u32 getDynamicLightCount() const =0;
virtual const SLight& getDynamicLight(u32 idx) const =0;
virtual void turnLightOn(s32 lightIndex, bool turnOn) =0;
virtual const wchar_t* getName() const =0;
virtual void addExternalImageLoader(IImageLoader* loader) =0;
virtual void addExternalImageWriter(IImageWriter* writer) =0;
virtual u32 getMaximalPrimitiveCount() const =0;
virtual void setTextureCreationFlag(E_TEXTURE_CREATION_FLAG flag, bool enabled=true) =0;
virtual bool getTextureCreationFlag(E_TEXTURE_CREATION_FLAG flag) const =0;
virtual IImage* createImageFromFile(const io::path& filename) = 0;
virtual IImage* createImageFromFile(io::IReadFile* file) =0;
virtual bool writeImageToFile(IImage* image, const io::path& filename, u32 param = 0) = 0;
virtual bool writeImageToFile(IImage* image, io::IWriteFile* file, u32 param =0) =0;
virtual IImage* createImageFromData(ECOLOR_FORMAT format,
const core::dimension2d<u32>& size, void *data,
bool ownForeignMemory=false,
bool deleteMemory = true) =0;
virtual IImage* createImage(ECOLOR_FORMAT format, const core::dimension2d<u32>& size) =0;
_IRR_DEPRECATED_ virtual IImage* createImage(ECOLOR_FORMAT format, IImage *imageToCopy) =0;
_IRR_DEPRECATED_ virtual IImage* createImage(IImage* imageToCopy,
const core::position2d<s32>& pos,
const core::dimension2d<u32>& size) =0;
virtual IImage* createImage(ITexture* texture,
const core::position2d<s32>& pos,
const core::dimension2d<u32>& size) =0;
virtual void OnResize(const core::dimension2d<u32>& size) =0;
virtual s32 addMaterialRenderer(IMaterialRenderer* renderer, const c8* name =0) =0;
virtual IMaterialRenderer* getMaterialRenderer(u32 idx) =0;
virtual u32 getMaterialRendererCount() const =0;
virtual const c8* getMaterialRendererName(u32 idx) const =0;
virtual void setMaterialRendererName(s32 idx, const c8* name) =0;
virtual io::IAttributes* createAttributesFromMaterial(const video::SMaterial& material,
io::SAttributeReadWriteOptions* options=0) =0;
virtual void fillMaterialStructureFromAttributes(video::SMaterial& outMaterial, io::IAttributes* attributes) =0;
virtual const SExposedVideoData& getExposedVideoData() =0;
virtual E_DRIVER_TYPE getDriverType() const =0;
virtual IGPUProgrammingServices* getGPUProgrammingServices() =0;
virtual scene::IMeshManipulator* getMeshManipulator() =0;
virtual void clearZBuffer() =0;
virtual IImage* createScreenShot(video::ECOLOR_FORMAT format=video::ECF_UNKNOWN, video::E_RENDER_TARGET target=video::ERT_FRAME_BUFFER) =0;
virtual video::ITexture* findTexture(const io::path& filename) = 0;
virtual bool setClipPlane(u32 index, const core::plane3df& plane, bool enable=false) =0;
virtual void enableClipPlane(u32 index, bool enable) =0;
virtual void setMinHardwareBufferVertexCount(u32 count) =0;
virtual SOverrideMaterial& getOverrideMaterial() =0;
virtual SMaterial& getMaterial2D() =0;
virtual void enableMaterial2D(bool enable=true) =0;
virtual core::stringc getVendorInfo() =0;
virtual void setAmbientLight(const SColorf& color) =0;
virtual void setAllowZWriteOnTransparent(bool flag) =0;
virtual core::dimension2du getMaxTextureSize() const =0;
virtual void convertColor(const void* sP, ECOLOR_FORMAT sF, s32 sN,
void* dP, ECOLOR_FORMAT dF) const =0;
};
} // end namespace video
} // end namespace irr
#endif
EDriverFeatures.h
EDriverTypes.h
IMeshBuffer.h
ITexture.h
SColor.h
SExposedVideoData.h
SMaterial.h
irr::IReferenceCounted::IReferenceCounted
IReferenceCounted()
Constructor.
Definition IReferenceCounted.h:46
irr::core::aabbox3d
Axis aligned bounding box in 3d dimensional space.
Definition aabbox3d.h:22
irr::core::array
Self reallocating template array (like stl vector) with additional features.
Definition irrArray.h:23
irr::core::dimension2d
Specifies a 2 dimensional size.
Definition dimension2d.h:21
irr::core::rect
Rectangle template.
Definition rect.h:27
irr::io::IAttributes
Provides a generic interface for attributes and their values and the possiblity to serialize them.
Definition IAttributes.h:42
irr::io::IReadFile
Interface providing read acess to a file.
Definition IReadFile.h:18
irr::io::IWriteFile
Interface providing write access to a file.
Definition IWriteFile.h:18
irr::scene::IMeshBuffer
Struct for holding a mesh with a single material.
Definition IMeshBuffer.h:40
irr::scene::IMesh
Class which holds the geometry of an object.
Definition IMesh.h:24
irr::scene::IMeshManipulator
An interface for easy manipulation of meshes.
Definition IMeshManipulator.h:30
irr::scene::ISceneNode
Scene node interface.
Definition ISceneNode.h:41
irr::video::IGPUProgrammingServices
Interface making it possible to create and use programs running on the GPU.
Definition IGPUProgrammingServices.h:39
irr::video::IImage
Interface for software image data.
Definition IImage.h:23
irr::video::IImageLoader
Class which is able to create a image from a file.
Definition IImageLoader.h:27
irr::video::IImageWriter
Interface for writing software image data.
Definition IImageWriter.h:26
irr::video::IMaterialRenderer
Interface for material rendering.
Definition IMaterialRenderer.h:25
irr::video::ITexture
Interface of a Video Driver dependent Texture.
Definition ITexture.h:99
irr::video::IVideoDriver
Interface to driver which is able to perform 2d and 3d graphics functions.
Definition IVideoDriver.h:257
irr::video::IVideoDriver::beginScene
virtual bool beginScene(bool backBuffer=true, bool zBuffer=true, SColor color=SColor(255, 0, 0, 0), const SExposedVideoData &videoData=SExposedVideoData(), core::rect< s32 > *sourceRect=0)=0
Applications must call this method before performing any rendering.
irr::video::IVideoDriver::drawIndexedTriangleList
void drawIndexedTriangleList(const S3DVertex2TCoords *vertices, u32 vertexCount, const u16 *indexList, u32 triangleCount)
Draws an indexed triangle list.
Definition IVideoDriver.h:694
irr::video::IVideoDriver::getImageWriter
virtual IImageWriter * getImageWriter(u32 n)=0
Retrieve the given image writer.
irr::video::IVideoDriver::addOcclusionQuery
virtual void addOcclusionQuery(scene::ISceneNode *node, const scene::IMesh *mesh=0)=0
Create occlusion query.
irr::video::IVideoDriver::drawIndexedTriangleList
void drawIndexedTriangleList(const S3DVertexTangents *vertices, u32 vertexCount, const u16 *indexList, u32 triangleCount)
Draws an indexed triangle list.
Definition IVideoDriver.h:709
irr::video::IVideoDriver::addMaterialRenderer
virtual s32 addMaterialRenderer(IMaterialRenderer *renderer, const c8 *name=0)=0
Adds a new material renderer to the video device.
irr::video::IVideoDriver::removeHardwareBuffer
virtual void removeHardwareBuffer(const scene::IMeshBuffer *mb)=0
Remove hardware buffer.
irr::video::IVideoDriver::getOcclusionQueryResult
virtual u32 getOcclusionQueryResult(scene::ISceneNode *node) const =0
Return query result.
irr::video::IVideoDriver::draw2DImage
virtual void draw2DImage(const video::ITexture *texture, const core::position2d< s32 > &destPos, const core::rect< s32 > &sourceRect, const core::rect< s32 > *clipRect=0, SColor color=SColor(255, 255, 255, 255), bool useAlphaChannelOfTexture=false)=0
Draws a 2d image using a color.
irr::video::IVideoDriver::getTexture
virtual ITexture * getTexture(const io::path &filename)=0
Get access to a named texture.
irr::video::IVideoDriver::getImageWriterCount
virtual u32 getImageWriterCount() const =0
Retrieve the number of image writers.
irr::video::IVideoDriver::removeAllTextures
virtual void removeAllTextures()=0
Removes all textures from the texture cache and deletes them.
irr::video::IVideoDriver::OnResize
virtual void OnResize(const core::dimension2d< u32 > &size)=0
Event handler for resize events. Only used by the engine internally.
irr::video::IVideoDriver::draw2DImageBatch
virtual void draw2DImageBatch(const video::ITexture *texture, const core::position2d< s32 > &pos, const core::array< core::rect< s32 > > &sourceRects, const core::array< s32 > &indices, s32 kerningWidth=0, const core::rect< s32 > *clipRect=0, SColor color=SColor(255, 255, 255, 255), bool useAlphaChannelOfTexture=false)=0
Draws a set of 2d images, using a color and the alpha channel of the texture.
irr::video::IVideoDriver::drawMeshBufferNormals
virtual void drawMeshBufferNormals(const scene::IMeshBuffer *mb, f32 length=10.f, SColor color=0xffffffff)=0
Draws normals of a mesh buffer.
irr::video::IVideoDriver::setRenderTarget
virtual bool setRenderTarget(const core::array< video::IRenderTarget > &texture, bool clearBackBuffer=true, bool clearZBuffer=true, SColor color=video::SColor(0, 0, 0, 0))=0
Sets new multiple render targets.
irr::video::IVideoDriver::clearZBuffer
virtual void clearZBuffer()=0
Clears the ZBuffer.
irr::video::IVideoDriver::getVendorInfo
virtual core::stringc getVendorInfo()=0
Get the graphics card vendor name.
irr::video::IVideoDriver::removeAllHardwareBuffers
virtual void removeAllHardwareBuffers()=0
Remove all hardware buffers.
irr::video::IVideoDriver::getFog
virtual void getFog(SColor &color, E_FOG_TYPE &fogType, f32 &start, f32 &end, f32 &density, bool &pixelFog, bool &rangeFog)=0
Gets the fog mode.
irr::video::IVideoDriver::getPrimitiveCountDrawn
virtual u32 getPrimitiveCountDrawn(u32 mode=0) const =0
Returns amount of primitives (mostly triangles) which were drawn in the last frame.
irr::video::IVideoDriver::renameTexture
virtual void renameTexture(ITexture *texture, const io::path &newName)=0
Renames a texture.
irr::video::IVideoDriver::draw2DVertexPrimitiveList
virtual void draw2DVertexPrimitiveList(const void *vertices, u32 vertexCount, const void *indexList, u32 primCount, E_VERTEX_TYPE vType=EVT_STANDARD, scene::E_PRIMITIVE_TYPE pType=scene::EPT_TRIANGLES, E_INDEX_TYPE iType=EIT_16BIT)=0
Draws a vertex primitive list in 2d.
irr::video::IVideoDriver::createImage
virtual _IRR_DEPRECATED_ IImage * createImage(ECOLOR_FORMAT format, IImage *imageToCopy)=0
Creates a software image by converting it to given format from another image.
irr::video::IVideoDriver::turnLightOn
virtual void turnLightOn(s32 lightIndex, bool turnOn)=0
irr::video::IVideoDriver::createImage
virtual _IRR_DEPRECATED_ IImage * createImage(IImage *imageToCopy, const core::position2d< s32 > &pos, const core::dimension2d< u32 > &size)=0
Creates a software image from a part of another image.
irr::video::IVideoDriver::getDynamicLight
virtual const SLight & getDynamicLight(u32 idx) const =0
Returns light data which was previously set by IVideoDriver::addDynamicLight().
irr::video::IVideoDriver::writeImageToFile
virtual bool writeImageToFile(IImage *image, const io::path &filename, u32 param=0)=0
Writes the provided image to a file.
irr::video::IVideoDriver::getMaterial2D
virtual SMaterial & getMaterial2D()=0
Get the 2d override material for altering its values.
irr::video::IVideoDriver::createImageFromData
virtual IImage * createImageFromData(ECOLOR_FORMAT format, const core::dimension2d< u32 > &size, void *data, bool ownForeignMemory=false, bool deleteMemory=true)=0
Creates a software image from a byte array.
irr::video::IVideoDriver::addTexture
virtual ITexture * addTexture(const io::path &name, IImage *image, void *mipmapData=0)=0
Creates a texture from an IImage.
irr::video::IVideoDriver::draw2DImage
virtual void draw2DImage(const video::ITexture *texture, const core::rect< s32 > &destRect, const core::rect< s32 > &sourceRect, const core::rect< s32 > *clipRect=0, const video::SColor *const colors=0, bool useAlphaChannelOfTexture=false)=0
Draws a part of the texture into the rectangle. Note that colors must be an array of 4 colors if used...
irr::video::IVideoDriver::checkDriverReset
virtual bool checkDriverReset()=0
Check if the driver was recently reset.
irr::video::IVideoDriver::getTextureCount
virtual u32 getTextureCount() const =0
Returns amount of textures currently loaded.
irr::video::IVideoDriver::setMaterialRendererName
virtual void setMaterialRendererName(s32 idx, const c8 *name)=0
Sets the name of a material renderer.
irr::video::IVideoDriver::getDriverAttributes
virtual const io::IAttributes & getDriverAttributes() const =0
Get attributes of the actual video driver.
irr::video::IVideoDriver::addRenderTargetTexture
virtual ITexture * addRenderTargetTexture(const core::dimension2d< u32 > &size, const io::path &name="rt", const ECOLOR_FORMAT format=ECF_UNKNOWN)=0
Adds a new render target texture to the texture cache.
irr::video::IVideoDriver::drawIndexedTriangleList
void drawIndexedTriangleList(const S3DVertex *vertices, u32 vertexCount, const u16 *indexList, u32 triangleCount)
Draws an indexed triangle list.
Definition IVideoDriver.h:679
irr::video::IVideoDriver::addExternalImageWriter
virtual void addExternalImageWriter(IImageWriter *writer)=0
Adds an external image writer to the engine.
irr::video::IVideoDriver::getFPS
virtual s32 getFPS() const =0
Returns current frames per second value.
irr::video::IVideoDriver::removeAllOcclusionQueries
virtual void removeAllOcclusionQueries()=0
Remove all occlusion queries.
irr::video::IVideoDriver::draw3DLine
virtual void draw3DLine(const core::vector3df &start, const core::vector3df &end, SColor color=SColor(255, 255, 255, 255))=0
Draws a 3d line.
irr::video::IVideoDriver::updateOcclusionQuery
virtual void updateOcclusionQuery(scene::ISceneNode *node, bool block=true)=0
Update occlusion query. Retrieves results from GPU.
irr::video::IVideoDriver::makeNormalMapTexture
virtual void makeNormalMapTexture(video::ITexture *texture, f32 amplitude=1.0f) const =0
Creates a normal map from a height map texture.
irr::video::IVideoDriver::draw2DImageBatch
virtual void draw2DImageBatch(const video::ITexture *texture, const core::array< core::position2d< s32 > > &positions, const core::array< core::rect< s32 > > &sourceRects, const core::rect< s32 > *clipRect=0, SColor color=SColor(255, 255, 255, 255), bool useAlphaChannelOfTexture=false)=0
Draws a set of 2d images, using a color and the alpha channel of the texture.
irr::video::IVideoDriver::getOverrideMaterial
virtual SOverrideMaterial & getOverrideMaterial()=0
Get the global Material, which might override local materials.
irr::video::IVideoDriver::drawPixel
virtual void drawPixel(u32 x, u32 y, const SColor &color)=0
Draws a pixel.
irr::video::IVideoDriver::draw2DRectangleOutline
virtual void draw2DRectangleOutline(const core::recti &pos, SColor color=SColor(255, 255, 255, 255))=0
Draws the outline of a 2D rectangle.
irr::video::IVideoDriver::getName
virtual const wchar_t * getName() const =0
Gets name of this video driver.
irr::video::IVideoDriver::createImageFromFile
virtual IImage * createImageFromFile(io::IReadFile *file)=0
Creates a software image from a file.
irr::video::IVideoDriver::makeColorKeyTexture
virtual void makeColorKeyTexture(video::ITexture *texture, video::SColor color, bool zeroTexels=false) const =0
Sets a boolean alpha channel on the texture based on a color key.
irr::video::IVideoDriver::endScene
virtual bool endScene()=0
Presents the rendered image to the screen.
irr::video::IVideoDriver::enableMaterial2D
virtual void enableMaterial2D(bool enable=true)=0
Enable the 2d override material.
irr::video::IVideoDriver::draw3DBox
virtual void draw3DBox(const core::aabbox3d< f32 > &box, SColor color=SColor(255, 255, 255, 255))=0
Draws a 3d axis aligned box.
irr::video::IVideoDriver::createImage
virtual IImage * createImage(ECOLOR_FORMAT format, const core::dimension2d< u32 > &size)=0
Creates an empty software image.
irr::video::IVideoDriver::setMinHardwareBufferVertexCount
virtual void setMinHardwareBufferVertexCount(u32 count)=0
Set the minimum number of vertices for which a hw buffer will be created.
irr::video::IVideoDriver::draw2DLine
virtual void draw2DLine(const core::position2d< s32 > &start, const core::position2d< s32 > &end, SColor color=SColor(255, 255, 255, 255))=0
Draws a 2d line. Both start and end will be included in coloring.
irr::video::IVideoDriver::drawIndexedTriangleFan
void drawIndexedTriangleFan(const S3DVertexTangents *vertices, u32 vertexCount, const u16 *indexList, u32 triangleCount)
Draws an indexed triangle fan.
Definition IVideoDriver.h:754
irr::video::IVideoDriver::getCurrentRenderTargetSize
virtual const core::dimension2d< u32 > & getCurrentRenderTargetSize() const =0
Get the size of the current render target.
irr::video::IVideoDriver::createScreenShot
virtual IImage * createScreenShot(video::ECOLOR_FORMAT format=video::ECF_UNKNOWN, video::E_RENDER_TARGET target=video::ERT_FRAME_BUFFER)=0
Make a screenshot of the last rendered frame.
irr::video::IVideoDriver::addDynamicLight
virtual s32 addDynamicLight(const SLight &light)=0
irr::video::IVideoDriver::drawIndexedTriangleFan
void drawIndexedTriangleFan(const S3DVertex *vertices, u32 vertexCount, const u16 *indexList, u32 triangleCount)
Draws an indexed triangle fan.
Definition IVideoDriver.h:724
irr::video::IVideoDriver::draw2DRectangle
virtual void draw2DRectangle(const core::rect< s32 > &pos, SColor colorLeftUp, SColor colorRightUp, SColor colorLeftDown, SColor colorRightDown, const core::rect< s32 > *clip=0)=0
Draws a 2d rectangle with a gradient.
irr::video::IVideoDriver::setTextureCreationFlag
virtual void setTextureCreationFlag(E_TEXTURE_CREATION_FLAG flag, bool enabled=true)=0
Enables or disables a texture creation flag.
irr::video::IVideoDriver::getScreenSize
virtual const core::dimension2d< u32 > & getScreenSize() const =0
Get the size of the screen or render window.
irr::video::IVideoDriver::setRenderTarget
virtual bool setRenderTarget(video::ITexture *texture, bool clearBackBuffer=true, bool clearZBuffer=true, SColor color=video::SColor(0, 0, 0, 0))=0
Sets a new render target.
irr::video::IVideoDriver::setMaterial
virtual void setMaterial(const SMaterial &material)=0
Sets a material.
irr::video::IVideoDriver::getImageLoaderCount
virtual u32 getImageLoaderCount() const =0
Retrieve the number of image loaders.
irr::video::IVideoDriver::getMeshManipulator
virtual scene::IMeshManipulator * getMeshManipulator()=0
Returns a pointer to the mesh manipulator.
irr::video::IVideoDriver::getViewPort
virtual const core::rect< s32 > & getViewPort() const =0
Gets the area of the current viewport.
irr::video::IVideoDriver::addTexture
virtual ITexture * addTexture(const core::dimension2d< u32 > &size, const io::path &name, ECOLOR_FORMAT format=ECF_A8R8G8B8)=0
Creates an empty texture of specified size.
irr::video::IVideoDriver::addExternalImageLoader
virtual void addExternalImageLoader(IImageLoader *loader)=0
Adds an external image loader to the engine.
irr::video::IVideoDriver::setClipPlane
virtual bool setClipPlane(u32 index, const core::plane3df &plane, bool enable=false)=0
Set or unset a clipping plane.
irr::video::IVideoDriver::drawStencilShadow
virtual void drawStencilShadow(bool clearStencilBuffer=false, video::SColor leftUpEdge=video::SColor(255, 0, 0, 0), video::SColor rightUpEdge=video::SColor(255, 0, 0, 0), video::SColor leftDownEdge=video::SColor(255, 0, 0, 0), video::SColor rightDownEdge=video::SColor(255, 0, 0, 0))=0
Fills the stencil shadow with color.
irr::video::IVideoDriver::getDynamicLightCount
virtual u32 getDynamicLightCount() const =0
Returns amount of dynamic lights currently set.
irr::video::IVideoDriver::fillMaterialStructureFromAttributes
virtual void fillMaterialStructureFromAttributes(video::SMaterial &outMaterial, io::IAttributes *attributes)=0
Fills an SMaterial structure from attributes.
irr::video::IVideoDriver::getMaxTextureSize
virtual core::dimension2du getMaxTextureSize() const =0
Get the maximum texture size supported.
irr::video::IVideoDriver::removeOcclusionQuery
virtual void removeOcclusionQuery(scene::ISceneNode *node)=0
Remove occlusion query.
irr::video::IVideoDriver::getExposedVideoData
virtual const SExposedVideoData & getExposedVideoData()=0
Returns driver and operating system specific data about the IVideoDriver.
irr::video::IVideoDriver::enableClipPlane
virtual void enableClipPlane(u32 index, bool enable)=0
Enable or disable a clipping plane.
irr::video::IVideoDriver::setAmbientLight
virtual void setAmbientLight(const SColorf &color)=0
Only used by the engine internally.
irr::video::IVideoDriver::createImageFromFile
virtual IImage * createImageFromFile(const io::path &filename)=0
Creates a software image from a file.
irr::video::IVideoDriver::draw2DPolygon
virtual void draw2DPolygon(core::position2d< s32 > center, f32 radius, video::SColor color=SColor(100, 255, 255, 255), s32 vertexCount=10)=0
Draws a non filled concyclic regular 2d polygon.
irr::video::IVideoDriver::setTransform
virtual void setTransform(E_TRANSFORMATION_STATE state, const core::matrix4 &mat)=0
Sets transformation matrices.
irr::video::IVideoDriver::runOcclusionQuery
virtual void runOcclusionQuery(scene::ISceneNode *node, bool visible=false)=0
Run occlusion query. Draws mesh stored in query.
irr::video::IVideoDriver::drawMeshBuffer
virtual void drawMeshBuffer(const scene::IMeshBuffer *mb)=0
Draws a mesh buffer.
irr::video::IVideoDriver::drawVertexPrimitiveList
virtual void drawVertexPrimitiveList(const void *vertices, u32 vertexCount, const void *indexList, u32 primCount, E_VERTEX_TYPE vType=EVT_STANDARD, scene::E_PRIMITIVE_TYPE pType=scene::EPT_TRIANGLES, E_INDEX_TYPE iType=EIT_16BIT)=0
Draws a vertex primitive list.
irr::video::IVideoDriver::deleteAllDynamicLights
virtual void deleteAllDynamicLights()=0
Deletes all dynamic lights which were previously added with addDynamicLight().
irr::video::IVideoDriver::updateAllOcclusionQueries
virtual void updateAllOcclusionQueries(bool block=true)=0
Update all occlusion queries. Retrieves results from GPU.
irr::video::IVideoDriver::getMaximalDynamicLightAmount
virtual u32 getMaximalDynamicLightAmount() const =0
Returns the maximal amount of dynamic lights the device can handle.
irr::video::IVideoDriver::getMaterialRendererCount
virtual u32 getMaterialRendererCount() const =0
Get amount of currently available material renderers.
irr::video::IVideoDriver::draw2DImage
virtual void draw2DImage(const video::ITexture *texture, const core::position2d< s32 > &destPos)=0
Draws a 2d image without any special effects.
irr::video::IVideoDriver::getMaterialRendererName
virtual const c8 * getMaterialRendererName(u32 idx) const =0
Get name of a material renderer.
irr::video::IVideoDriver::draw3DTriangle
virtual void draw3DTriangle(const core::triangle3df &triangle, SColor color=SColor(255, 255, 255, 255))=0
Draws a 3d triangle.
irr::video::IVideoDriver::draw2DRectangle
virtual void draw2DRectangle(SColor color, const core::rect< s32 > &pos, const core::rect< s32 > *clip=0)=0
Draws a 2d rectangle.
irr::video::IVideoDriver::removeTexture
virtual void removeTexture(ITexture *texture)=0
Removes a texture from the texture cache and deletes it.
irr::video::IVideoDriver::getGPUProgrammingServices
virtual IGPUProgrammingServices * getGPUProgrammingServices()=0
Gets the IGPUProgrammingServices interface.
irr::video::IVideoDriver::getImageLoader
virtual IImageLoader * getImageLoader(u32 n)=0
Retrieve the given image loader.
irr::video::IVideoDriver::setRenderTarget
virtual bool setRenderTarget(E_RENDER_TARGET target, bool clearTarget=true, bool clearZBuffer=true, SColor color=video::SColor(0, 0, 0, 0))=0
set or reset special render targets
irr::video::IVideoDriver::createAttributesFromMaterial
virtual io::IAttributes * createAttributesFromMaterial(const video::SMaterial &material, io::SAttributeReadWriteOptions *options=0)=0
Creates material attributes list from a material.
irr::video::IVideoDriver::queryFeature
virtual bool queryFeature(E_VIDEO_DRIVER_FEATURE feature) const =0
Queries the features of the driver.
irr::video::IVideoDriver::drawIndexedTriangleFan
void drawIndexedTriangleFan(const S3DVertex2TCoords *vertices, u32 vertexCount, const u16 *indexList, u32 triangleCount)
Draws an indexed triangle fan.
Definition IVideoDriver.h:739
irr::video::IVideoDriver::writeImageToFile
virtual bool writeImageToFile(IImage *image, io::IWriteFile *file, u32 param=0)=0
Writes the provided image to a file.
irr::video::IVideoDriver::runAllOcclusionQueries
virtual void runAllOcclusionQueries(bool visible=false)=0
Run all occlusion queries. Draws all meshes stored in queries.
irr::video::IVideoDriver::drawStencilShadowVolume
virtual void drawStencilShadowVolume(const core::array< core::vector3df > &triangles, bool zfail=true, u32 debugDataVisible=0)=0
Draws a shadow volume into the stencil buffer.
irr::video::IVideoDriver::getTexture
virtual ITexture * getTexture(io::IReadFile *file)=0
Get access to a named texture.
irr::video::IVideoDriver::getTextureCreationFlag
virtual bool getTextureCreationFlag(E_TEXTURE_CREATION_FLAG flag) const =0
Returns if a texture creation flag is enabled or disabled.
irr::video::IVideoDriver::getMaterialRenderer
virtual IMaterialRenderer * getMaterialRenderer(u32 idx)=0
Get access to a material renderer by index.
irr::video::IVideoDriver::disableFeature
virtual void disableFeature(E_VIDEO_DRIVER_FEATURE feature, bool flag=true)=0
Disable a feature of the driver.
irr::video::IVideoDriver::makeColorKeyTexture
virtual void makeColorKeyTexture(video::ITexture *texture, core::position2d< s32 > colorKeyPixelPos, bool zeroTexels=false) const =0
Sets a boolean alpha channel on the texture based on the color at a position.
irr::video::IVideoDriver::setViewPort
virtual void setViewPort(const core::rect< s32 > &area)=0
Sets a new viewport.
irr::video::IVideoDriver::getTextureByIndex
virtual ITexture * getTextureByIndex(u32 index)=0
Returns a texture by index.
irr::video::IVideoDriver::getTransform
virtual const core::matrix4 & getTransform(E_TRANSFORMATION_STATE state) const =0
Returns the transformation set by setTransform.
irr::video::IVideoDriver::setAllowZWriteOnTransparent
virtual void setAllowZWriteOnTransparent(bool flag)=0
Only used by the engine internally.
irr::video::IVideoDriver::findTexture
virtual video::ITexture * findTexture(const io::path &filename)=0
Check if the image is already loaded.
irr::video::IVideoDriver::getDriverType
virtual E_DRIVER_TYPE getDriverType() const =0
Get type of video driver.
irr::video::IVideoDriver::setFog
virtual void setFog(SColor color=SColor(0, 255, 255, 255), E_FOG_TYPE fogType=EFT_FOG_LINEAR, f32 start=50.0f, f32 end=100.0f, f32 density=0.01f, bool pixelFog=false, bool rangeFog=false)=0
Sets the fog mode.
irr::video::IVideoDriver::convertColor
virtual void convertColor(const void *sP, ECOLOR_FORMAT sF, s32 sN, void *dP, ECOLOR_FORMAT dF) const =0
Color conversion convenience function.
irr::video::IVideoDriver::getColorFormat
virtual ECOLOR_FORMAT getColorFormat() const =0
Get the current color format of the color buffer.
irr::video::IVideoDriver::getMaximalPrimitiveCount
virtual u32 getMaximalPrimitiveCount() const =0
Returns the maximum amount of primitives.
irr::video::IVideoDriver::createImage
virtual IImage * createImage(ITexture *texture, const core::position2d< s32 > &pos, const core::dimension2d< u32 > &size)=0
Creates a software image from a part of a texture.
irr::video::SColor
Class representing a 32 bit ARGB color.
Definition SColor.h:202
irr::video::SColorf
Class representing a color with four floats.
Definition SColor.h:459
irr::video::SMaterial
Struct for holding parameters for a material renderer.
Definition SMaterial.h:227
irr::video::SMaterial::ZWriteEnable
bool ZWriteEnable
Is the zbuffer writeable or is it read-only. Default: true.
Definition SMaterial.h:422
irr::video::SMaterial::ColorMaterial
u8 ColorMaterial
Defines the interpretation of vertex color in the lighting equation.
Definition SMaterial.h:387
irr::video::SMaterial::TextureLayer
SMaterialLayer TextureLayer[MATERIAL_MAX_TEXTURES]
Texture layer array.
Definition SMaterial.h:297
irr::video::SMaterial::PointCloud
bool PointCloud
Draw as point cloud or filled triangles? Default: false.
Definition SMaterial.h:410
irr::video::SMaterial::ColorMask
u8 ColorMask
Defines the enabled color planes.
Definition SMaterial.h:379
irr::video::SMaterial::Wireframe
bool Wireframe
Draw as wireframe or filled triangles? Default: false.
Definition SMaterial.h:407
irr::video::SMaterial::ZBuffer
u8 ZBuffer
Is the ZBuffer enabled? Default: ECFN_LESSEQUAL.
Definition SMaterial.h:366
irr::video::SMaterial::AntiAliasing
u8 AntiAliasing
Sets the antialiasing mode.
Definition SMaterial.h:372
irr::video::SMaterial::UseMipMaps
bool UseMipMaps
Shall mipmaps be used if available.
Definition SMaterial.h:439
irr::video::SMaterial::FrontfaceCulling
bool FrontfaceCulling
Is frontface culling enabled? Default: false.
Definition SMaterial.h:428
irr::video::SMaterial::FogEnable
bool FogEnable
Is fog enabled? Default: false.
Definition SMaterial.h:431
irr::video::SMaterial::PolygonOffsetDirection
E_POLYGON_OFFSET PolygonOffsetDirection
Flag defining the direction the polygon offset is applied to.
Definition SMaterial.h:401
irr::video::SMaterial::GouraudShading
bool GouraudShading
Flat or Gouraud shading? Default: true.
Definition SMaterial.h:413
irr::video::SMaterial::NormalizeNormals
bool NormalizeNormals
Should normals be normalized?
Definition SMaterial.h:435
irr::video::SMaterial::BackfaceCulling
bool BackfaceCulling
Is backface culling enabled? Default: true.
Definition SMaterial.h:425
irr::video::SMaterial::PolygonOffsetFactor
u8 PolygonOffsetFactor
Factor specifying how far the polygon offset should be made.
Definition SMaterial.h:397
irr::video::SMaterial::BlendOperation
E_BLEND_OPERATION BlendOperation
Store the blend operation of choice.
Definition SMaterial.h:392
irr::video::SMaterial::Lighting
bool Lighting
Will this material be lighted? Default: true.
Definition SMaterial.h:416
irr::video::SMaterialLayer::BilinearFilter
bool BilinearFilter
Is bilinear filtering enabled? Default: true.
Definition SMaterialLayer.h:192
irr::video::SMaterialLayer::TextureWrapV
u8 TextureWrapV
Definition SMaterialLayer.h:189
irr::video::SMaterialLayer::TrilinearFilter
bool TrilinearFilter
Is trilinear filtering enabled? Default: false.
Definition SMaterialLayer.h:197
irr::video::SMaterialLayer::AnisotropicFilter
u8 AnisotropicFilter
Is anisotropic filtering enabled? Default: 0, disabled.
Definition SMaterialLayer.h:206
irr::video::SMaterialLayer::TextureWrapU
u8 TextureWrapU
Texture Clamp Mode.
Definition SMaterialLayer.h:188
dimension2d.h
irrArray.h
_IRR_DEPRECATED_
#define _IRR_DEPRECATED_
Defines a deprecated macro which generates a warning at compile time.
Definition irrTypes.h:195
matrix4.h
irr::core::vector3df
vector3d< f32 > vector3df
Typedef for a f32 3d vector.
Definition vector3d.h:445
irr::core::triangle3df
triangle3d< f32 > triangle3df
Typedef for a f32 3d triangle.
Definition triangle3d.h:270
irr::core::recti
rect< s32 > recti
Rectangle with int values.
Definition rect.h:273
irr::core::matrix4
CMatrix4< f32 > matrix4
Typedef for f32 matrix.
Definition matrix4.h:2235
irr::core::dimension2du
dimension2d< u32 > dimension2du
Typedef for an unsigned integer dimension.
Definition dimension2d.h:212
irr::core::stringc
string< c8 > stringc
Typedef for character strings.
Definition irrString.h:1358
irr::core::plane3df
plane3d< f32 > plane3df
Typedef for a f32 3d plane.
Definition plane3d.h:236
irr::io
This namespace provides interfaces for input/output: Reading and writing files, accessing zip archive...
Definition EAttributes.h:11
irr::io::path
core::string< fschar_t > path
Type used for all file system related strings.
Definition path.h:17
irr::scene
All scene management can be found in this namespace: Mesh loading, special scene nodes like octrees a...
Definition CDynamicMeshBuffer.h:16
irr::scene::E_PRIMITIVE_TYPE
E_PRIMITIVE_TYPE
Enumeration for all primitive types there are.
Definition EPrimitiveTypes.h:15
irr::scene::EPT_TRIANGLES
@ EPT_TRIANGLES
Explicitly set all vertices for each triangle.
Definition EPrimitiveTypes.h:37
irr::scene::EPT_TRIANGLE_FAN
@ EPT_TRIANGLE_FAN
Definition EPrimitiveTypes.h:34
irr::video
The video namespace contains classes for accessing the video driver. All 2d and 3d rendering is done ...
Definition EDriverFeatures.h:11
irr::video::E_VERTEX_TYPE
E_VERTEX_TYPE
Enumeration for all vertex types there are.
Definition S3DVertex.h:19
irr::video::EVT_2TCOORDS
@ EVT_2TCOORDS
Vertex with two texture coordinates, video::S3DVertex2TCoords.
Definition S3DVertex.h:25
irr::video::EVT_TANGENTS
@ EVT_TANGENTS
Vertex with a tangent and binormal vector, video::S3DVertexTangents.
Definition S3DVertex.h:29
irr::video::EVT_STANDARD
@ EVT_STANDARD
Standard vertex type used by the Irrlicht engine, video::S3DVertex.
Definition S3DVertex.h:21
irr::video::E_TRANSFORMATION_STATE
E_TRANSFORMATION_STATE
enumeration for geometry transformation states
Definition IVideoDriver.h:53
irr::video::ETS_VIEW
@ ETS_VIEW
View transformation.
Definition IVideoDriver.h:55
irr::video::ETS_TEXTURE_1
@ ETS_TEXTURE_1
Texture transformation.
Definition IVideoDriver.h:63
irr::video::ETS_TEXTURE_2
@ ETS_TEXTURE_2
Texture transformation.
Definition IVideoDriver.h:65
irr::video::ETS_TEXTURE_0
@ ETS_TEXTURE_0
Texture transformation.
Definition IVideoDriver.h:61
irr::video::ETS_WORLD
@ ETS_WORLD
World transformation.
Definition IVideoDriver.h:57
irr::video::ETS_TEXTURE_3
@ ETS_TEXTURE_3
Texture transformation.
Definition IVideoDriver.h:67
irr::video::ETS_COUNT
@ ETS_COUNT
Not used.
Definition IVideoDriver.h:85
irr::video::ETS_PROJECTION
@ ETS_PROJECTION
Projection transformation.
Definition IVideoDriver.h:59
irr::video::ECOLOR_FORMAT
ECOLOR_FORMAT
An enum for the color format of textures used by the Irrlicht Engine.
Definition SColor.h:18
irr::video::ECF_UNKNOWN
@ ECF_UNKNOWN
Unknown color format:
Definition SColor.h:55
irr::video::ECF_A8R8G8B8
@ ECF_A8R8G8B8
Default 32 bit color format. 8 bits are used for every component: red, green, blue and alpha.
Definition SColor.h:32
irr::video::E_VIDEO_DRIVER_FEATURE
E_VIDEO_DRIVER_FEATURE
enumeration for querying features of the video driver.
Definition EDriverFeatures.h:15
irr::video::FogTypeNames
const c8 *const FogTypeNames[]
Definition IVideoDriver.h:140
irr::video::E_LOST_RESOURCE
E_LOST_RESOURCE
enumeration for signaling resources which were lost after the last render cycle
Definition IVideoDriver.h:93
irr::video::ELR_TEXTURES
@ ELR_TEXTURES
All texture are lost, rare problem.
Definition IVideoDriver.h:97
irr::video::ELR_HW_BUFFERS
@ ELR_HW_BUFFERS
The HW buffers are lost, will be recreated automatically, but might require some more time this frame...
Definition IVideoDriver.h:101
irr::video::ELR_DEVICE
@ ELR_DEVICE
The whole device/driver is lost.
Definition IVideoDriver.h:95
irr::video::ELR_RTTS
@ ELR_RTTS
The Render Target Textures are lost, typical problem for D3D.
Definition IVideoDriver.h:99
irr::video::E_RENDER_TARGET
E_RENDER_TARGET
Special render targets, which usually map to dedicated hardware.
Definition IVideoDriver.h:107
irr::video::ERT_AUX_BUFFER4
@ ERT_AUX_BUFFER4
Auxiliary buffer 4.
Definition IVideoDriver.h:129
irr::video::ERT_AUX_BUFFER1
@ ERT_AUX_BUFFER1
Auxiliary buffer 1.
Definition IVideoDriver.h:123
irr::video::ERT_RENDER_TEXTURE
@ ERT_RENDER_TEXTURE
Render target is a render texture.
Definition IVideoDriver.h:111
irr::video::ERT_AUX_BUFFER0
@ ERT_AUX_BUFFER0
Auxiliary buffer 0.
Definition IVideoDriver.h:121
irr::video::ERT_FRAME_BUFFER
@ ERT_FRAME_BUFFER
Render target is the main color frame buffer.
Definition IVideoDriver.h:109
irr::video::ERT_STEREO_LEFT_BUFFER
@ ERT_STEREO_LEFT_BUFFER
Render target is the main color frame buffer.
Definition IVideoDriver.h:115
irr::video::ERT_STEREO_BOTH_BUFFERS
@ ERT_STEREO_BOTH_BUFFERS
Render to both stereo buffers at once.
Definition IVideoDriver.h:119
irr::video::ERT_STEREO_RIGHT_BUFFER
@ ERT_STEREO_RIGHT_BUFFER
Render target is the right color buffer (left is the main buffer).
Definition IVideoDriver.h:117
irr::video::ERT_AUX_BUFFER3
@ ERT_AUX_BUFFER3
Auxiliary buffer 3.
Definition IVideoDriver.h:127
irr::video::ERT_MULTI_RENDER_TEXTURES
@ ERT_MULTI_RENDER_TEXTURES
Multi-Render target textures.
Definition IVideoDriver.h:113
irr::video::ERT_AUX_BUFFER2
@ ERT_AUX_BUFFER2
Auxiliary buffer 2.
Definition IVideoDriver.h:125
irr::video::E_BLEND_OPERATION
E_BLEND_OPERATION
Values defining the blend operation used when blend is enabled.
Definition SMaterial.h:40
irr::video::EBO_NONE
@ EBO_NONE
No blending happens.
Definition SMaterial.h:41
irr::video::EMF_FRONT_FACE_CULLING
@ EMF_FRONT_FACE_CULLING
Is frontface culling enabled? Default: false.
Definition EMaterialFlags.h:40
irr::video::EMF_POINTCLOUD
@ EMF_POINTCLOUD
Draw as point cloud or filled triangles? Default: false.
Definition EMaterialFlags.h:20
irr::video::EMF_NORMALIZE_NORMALS
@ EMF_NORMALIZE_NORMALS
Normalizes normals. Default: false.
Definition EMaterialFlags.h:66
irr::video::EMF_ZBUFFER
@ EMF_ZBUFFER
Is the ZBuffer enabled? Default: true.
Definition EMaterialFlags.h:29
irr::video::EMF_ZWRITE_ENABLE
@ EMF_ZWRITE_ENABLE
May be written to the zbuffer or is it readonly. Default: true.
Definition EMaterialFlags.h:33
irr::video::EMF_FOG_ENABLE
@ EMF_FOG_ENABLE
Is fog enabled? Default: false.
Definition EMaterialFlags.h:58
irr::video::EMF_COLOR_MASK
@ EMF_COLOR_MASK
ColorMask bits, for enabling the color planes.
Definition EMaterialFlags.h:75
irr::video::EMF_TRILINEAR_FILTER
@ EMF_TRILINEAR_FILTER
Is trilinear filtering enabled? Default: false.
Definition EMaterialFlags.h:48
irr::video::EMF_TEXTURE_WRAP
@ EMF_TEXTURE_WRAP
Access to all layers texture wrap settings. Overwrites separate layer settings.
Definition EMaterialFlags.h:69
irr::video::EMF_COLOR_MATERIAL
@ EMF_COLOR_MATERIAL
ColorMaterial enum for vertex color interpretation.
Definition EMaterialFlags.h:78
irr::video::EMF_GOURAUD_SHADING
@ EMF_GOURAUD_SHADING
Flat or Gouraud shading? Default: true.
Definition EMaterialFlags.h:23
irr::video::EMF_USE_MIP_MAPS
@ EMF_USE_MIP_MAPS
Flag for enabling/disabling mipmap usage.
Definition EMaterialFlags.h:81
irr::video::EMF_ANISOTROPIC_FILTER
@ EMF_ANISOTROPIC_FILTER
Is anisotropic filtering? Default: false.
Definition EMaterialFlags.h:55
irr::video::EMF_ANTI_ALIASING
@ EMF_ANTI_ALIASING
AntiAliasing mode.
Definition EMaterialFlags.h:72
irr::video::EMF_BLEND_OPERATION
@ EMF_BLEND_OPERATION
Flag for blend operation.
Definition EMaterialFlags.h:84
irr::video::EMF_WIREFRAME
@ EMF_WIREFRAME
Draw as wireframe or filled triangles? Default: false.
Definition EMaterialFlags.h:17
irr::video::EMF_POLYGON_OFFSET
@ EMF_POLYGON_OFFSET
Flag for polygon offset.
Definition EMaterialFlags.h:87
irr::video::EMF_LIGHTING
@ EMF_LIGHTING
Will this material be lighted? Default: true.
Definition EMaterialFlags.h:26
irr::video::EMF_BACK_FACE_CULLING
@ EMF_BACK_FACE_CULLING
Is backface culling enabled? Default: true.
Definition EMaterialFlags.h:36
irr::video::EMF_BILINEAR_FILTER
@ EMF_BILINEAR_FILTER
Is bilinear filtering enabled? Default: true.
Definition EMaterialFlags.h:43
irr::video::E_COLOR_PLANE
E_COLOR_PLANE
Enum values for enabling/disabling color planes for rendering.
Definition SMaterial.h:84
irr::video::ECP_ALL
@ ECP_ALL
All planes enabled.
Definition SMaterial.h:98
irr::video::E_BLEND_FACTOR
E_BLEND_FACTOR
Flag for EMT_ONETEXTURE_BLEND, ( BlendFactor ) BlendFunc = source * sourceFactor + dest * destFactor.
Definition SMaterial.h:24
irr::video::EBF_ONE
@ EBF_ONE
src & dest (1, 1, 1, 1)
Definition SMaterial.h:26
irr::video::EBF_ONE_MINUS_SRC_ALPHA
@ EBF_ONE_MINUS_SRC_ALPHA
src & dest (1-srcA, 1-srcA, 1-srcA, 1-srcA)
Definition SMaterial.h:32
irr::video::E_TEXTURE_CREATION_FLAG
E_TEXTURE_CREATION_FLAG
Enumeration flags telling the video driver in which format textures should be created.
Definition ITexture.h:23
irr::video::E_FOG_TYPE
E_FOG_TYPE
Enum for the types of fog distributions to choose from.
Definition IVideoDriver.h:134
irr::video::EFT_FOG_EXP
@ EFT_FOG_EXP
Definition IVideoDriver.h:135
irr::video::EFT_FOG_LINEAR
@ EFT_FOG_LINEAR
Definition IVideoDriver.h:136
irr::video::EFT_FOG_EXP2
@ EFT_FOG_EXP2
Definition IVideoDriver.h:137
irr::video::E_DRIVER_TYPE
E_DRIVER_TYPE
An enum for all types of drivers the Irrlicht Engine supports.
Definition EDriverTypes.h:15
irr::video::E_INDEX_TYPE
E_INDEX_TYPE
Definition SVertexIndex.h:16
irr::video::EIT_16BIT
@ EIT_16BIT
Definition SVertexIndex.h:17
irr
Everything in the Irrlicht Engine can be found in this namespace.
Definition aabbox3d.h:13
irr::f32
float f32
32 bit floating point variable.
Definition irrTypes.h:104
irr::u32
unsigned int u32
32 bit unsigned variable.
Definition irrTypes.h:58
irr::c8
char c8
8 bit character variable.
Definition irrTypes.h:31
irr::s32
signed int s32
32 bit signed variable.
Definition irrTypes.h:66
irr::u16
unsigned short u16
16 bit unsigned variable.
Definition irrTypes.h:40
plane3d.h
position2d.h
rect.h
irr::io::SAttributeReadWriteOptions
struct holding data describing options
Definition IAttributeExchangingObject.h:35
irr::video::IRenderTarget::IRenderTarget
IRenderTarget(E_RENDER_TARGET target, E_COLOR_PLANE colorMask=ECP_ALL, E_BLEND_FACTOR blendFuncSrc=EBF_ONE, E_BLEND_FACTOR blendFuncDst=EBF_ONE_MINUS_SRC_ALPHA, E_BLEND_OPERATION blendOp=EBO_NONE)
Definition IVideoDriver.h:222
irr::video::IRenderTarget::RenderTexture
ITexture * RenderTexture
Definition IVideoDriver.h:240
irr::video::IRenderTarget::BlendOp
E_BLEND_OPERATION BlendOp
Definition IVideoDriver.h:245
irr::video::IRenderTarget::TargetType
E_RENDER_TARGET TargetType
Definition IVideoDriver.h:241
irr::video::IRenderTarget::operator!=
bool operator!=(const IRenderTarget &other) const
Definition IVideoDriver.h:231
irr::video::IRenderTarget::IRenderTarget
IRenderTarget(ITexture *texture, E_COLOR_PLANE colorMask=ECP_ALL, E_BLEND_FACTOR blendFuncSrc=EBF_ONE, E_BLEND_FACTOR blendFuncDst=EBF_ONE_MINUS_SRC_ALPHA, E_BLEND_OPERATION blendOp=EBO_NONE)
Definition IVideoDriver.h:213
irr::video::IRenderTarget::ColorMask
E_COLOR_PLANE ColorMask
Definition IVideoDriver.h:242
irr::video::IRenderTarget::BlendFuncDst
E_BLEND_FACTOR BlendFuncDst
Definition IVideoDriver.h:244
irr::video::IRenderTarget::BlendFuncSrc
E_BLEND_FACTOR BlendFuncSrc
Definition IVideoDriver.h:243
irr::video::S3DVertex2TCoords
Vertex with two texture coordinates.
Definition S3DVertex.h:110
irr::video::S3DVertex
standard vertex used by the Irrlicht engine.
Definition S3DVertex.h:43
irr::video::S3DVertexTangents
Vertex with a tangent and binormal vector.
Definition S3DVertex.h:188
irr::video::SExposedVideoData
structure for holding data describing a driver and operating system specific data.
Definition SExposedVideoData.h:26
irr::video::SLight
structure for holding data describing a dynamic point light.
Definition SLight.h:42
irr::video::SOverrideMaterial
Definition IVideoDriver.h:149
irr::video::SOverrideMaterial::apply
void apply(SMaterial &material)
Apply the enabled overrides.
Definition IVideoDriver.h:167
irr::video::SOverrideMaterial::EnableFlags
u32 EnableFlags
Which values are taken for override.
Definition IVideoDriver.h:154
irr::video::SOverrideMaterial::Material
SMaterial Material
The Material values.
Definition IVideoDriver.h:151
irr::video::SOverrideMaterial::Enabled
bool Enabled
Global enable flag, overwritten by the SceneManager in each pass.
Definition IVideoDriver.h:161
irr::video::SOverrideMaterial::SOverrideMaterial
SOverrideMaterial()
Default constructor.
Definition IVideoDriver.h:164
irr::video::SOverrideMaterial::EnablePasses
u16 EnablePasses
Set in which render passes the material override is active.
Definition IVideoDriver.h:157
triangle3d.h
- Irrlicht Engine Documentation © 2003-2012 by Nikolaus Gebhardt. Generated on for Irrlicht 3D Engine by Doxygen 1.15.0