![]() |
Skylicht Engine
|
The video namespace contains classes for accessing the video driver. All 2d and 3d rendering is done here. More...
Classes | |
| class | IGPUCompute |
| class | IGPUProgrammingServices |
| Interface making it possible to create and use programs running on the GPU. More... | |
| class | IHardwareBuffer |
| class | IImage |
| Interface for software image data. More... | |
| class | IImageLoader |
| Class which is able to create a image from a file. More... | |
| class | IImageWriter |
| Interface for writing software image data. More... | |
| class | IMaterialRenderer |
| Interface for material rendering. More... | |
| class | IMaterialRendererServices |
| Interface providing some methods for changing advanced, internal states of a IVideoDriver. More... | |
| struct | IRenderTarget |
| class | IRWBuffer |
| class | IShaderConstantSetCallBack |
| Interface making it possible to set constants for gpu programs every frame. More... | |
| class | ITexture |
| Interface of a Video Driver dependent Texture. More... | |
| class | IVertexAttribute |
| class | IVertexDescriptor |
| class | IVideoDriver |
| Interface to driver which is able to perform 2d and 3d graphics functions. More... | |
| class | IVideoModeList |
| A list of all available video modes. More... | |
| class | IVideoRenderTarget |
| struct | S3DVertex |
| standard vertex used by the Irrlicht engine. More... | |
| struct | S3DVertex2TCoords |
| Vertex with two texture coordinates. More... | |
| struct | S3DVertex2TCoordsTangents |
| struct | S3DVertexSkin |
| struct | S3DVertexSkin2TCoordsTangents |
| struct | S3DVertexSkinTangents |
| struct | S3DVertexTangents |
| Vertex with a tangent and binormal vector. More... | |
| class | SColor |
| Class representing a 32 bit ARGB color. More... | |
| class | SColorf |
| Class representing a color with four floats. More... | |
| class | SColorHSL |
| Class representing a color in HSL format. More... | |
| struct | SExposedVideoData |
| structure for holding data describing a driver and operating system specific data. More... | |
| struct | SLight |
| structure for holding data describing a dynamic point light. More... | |
| class | SMaterial |
| Struct for holding parameters for a material renderer. More... | |
| class | SMaterialLayer |
| Struct for holding material parameters which exist per texture layer. More... | |
| struct | SOverrideMaterial |
| struct | SVec4 |
Enumerations | |
| enum | E_VIDEO_DRIVER_FEATURE { EVDF_RENDER_TO_TARGET = 0 , EVDF_HARDWARE_TL , EVDF_MULTITEXTURE , EVDF_BILINEAR_FILTER , EVDF_MIP_MAP , EVDF_MIP_MAP_AUTO_UPDATE , EVDF_STENCIL_BUFFER , EVDF_VERTEX_SHADER_1_1 , EVDF_VERTEX_SHADER_2_0 , EVDF_VERTEX_SHADER_3_0 , EVDF_PIXEL_SHADER_1_1 , EVDF_PIXEL_SHADER_1_2 , EVDF_PIXEL_SHADER_1_3 , EVDF_PIXEL_SHADER_1_4 , EVDF_PIXEL_SHADER_2_0 , EVDF_PIXEL_SHADER_3_0 , EVDF_ARB_VERTEX_PROGRAM_1 , EVDF_ARB_FRAGMENT_PROGRAM_1 , EVDF_ARB_GLSL , EVDF_HLSL , EVDF_TEXTURE_NSQUARE , EVDF_TEXTURE_NPOT , EVDF_FRAMEBUFFER_OBJECT , EVDF_VERTEX_BUFFER_OBJECT , EVDF_ALPHA_TO_COVERAGE , EVDF_COLOR_MASK , EVDF_MULTIPLE_RENDER_TARGETS , EVDF_MRT_BLEND , EVDF_MRT_COLOR_MASK , EVDF_MRT_BLEND_FUNC , EVDF_GEOMETRY_SHADER , EVDF_OCCLUSION_QUERY , EVDF_POLYGON_OFFSET , EVDF_BLEND_OPERATIONS , EVDF_BLEND_SEPARATE , EVDF_TEXTURE_MATRIX , EVDF_TEXTURE_COMPRESSED_DXT , EVDF_TEXTURE_COMPRESSED_PVRTC , EVDF_TEXTURE_COMPRESSED_PVRTC2 , EVDF_TEXTURE_COMPRESSED_ETC1 , EVDF_TEXTURE_COMPRESSED_ETC2 , EVDF_TEXTURE_CUBE_MAP , EVDF_VERTEX_SHADER_4_0 , EVDF_PIXEL_SHADER_4_0 , EVDF_GEOMETRY_SHADER_4_0 , EVDF_COMPUTING_SHADER_4_0 , EVDF_VERTEX_SHADER_4_1 , EVDF_PIXEL_SHADER_4_1 , EVDF_GEOMETRY_SHADER_4_1 , EVDF_COMPUTING_SHADER_4_1 , EVDF_VERTEX_SHADER_5_0 , EVDF_PIXEL_SHADER_5_0 , EVDF_GEOMETRY_SHADER_5_0 , EVDF_COMPUTING_SHADER_5_0 , EVDF_TEXTURE_MULTISAMPLING , EVDF_COUNT } |
| enumeration for querying features of the video driver. More... | |
| enum | E_DRIVER_TYPE { EDT_NULL , EDT_OPENGL , EDT_OPENGLES , EDT_DIRECT3D11 , EDT_COUNT } |
| An enum for all types of drivers the Irrlicht Engine supports. More... | |
| enum | E_MATERIAL_FLAG { EMF_WIREFRAME = 0x1 , EMF_POINTCLOUD = 0x2 , EMF_GOURAUD_SHADING = 0x4 , EMF_LIGHTING = 0x8 , EMF_ZBUFFER = 0x10 , EMF_ZWRITE_ENABLE = 0x20 , EMF_BACK_FACE_CULLING = 0x40 , EMF_FRONT_FACE_CULLING = 0x80 , EMF_BILINEAR_FILTER = 0x100 , EMF_TRILINEAR_FILTER = 0x200 , EMF_ANISOTROPIC_FILTER = 0x400 , EMF_FOG_ENABLE = 0x800 , EMF_NORMALIZE_NORMALS = 0x1000 , EMF_TEXTURE_WRAP = 0x2000 , EMF_ANTI_ALIASING = 0x4000 , EMF_COLOR_MASK = 0x8000 , EMF_COLOR_MATERIAL = 0x10000 , EMF_USE_MIP_MAPS = 0x20000 , EMF_BLEND_OPERATION = 0x40000 , EMF_POLYGON_OFFSET = 0x80000 , EMF_BLEND_FACTOR = 0x160000 } |
| Material flags. More... | |
| enum | E_MATERIAL_TYPE { EMT_SOLID = 0 , EMT_TRANSPARENT_ADD_COLOR , EMT_TRANSPARENT_ALPHA_CHANNEL , EMT_TRANSPARENT_ALPHA_CHANNEL_REF , EMT_TRANSPARENT_VERTEX_ALPHA , EMT_TRANSPARENT_MULTIPLY_COLOR , EMT_TRANSPARENT_SCREEN_COLOR , EMT_FORCE_32BIT = 0x7fffffff } |
| Abstracted and easy to use fixed function/programmable pipeline material modes. More... | |
| enum | E_SHADER_TYPE { EST_VERTEX_SHADER = 0 , EST_GEOMETRY_SHADER , EST_PIXEL_SHADER , EST_HULL_SHADER , EST_DOMAIN_SHADER , EST_COMPUTE_SHADER , EST_COUNT } |
| enum | E_VERTEX_SHADER_TYPE { EVST_VS_1_1 = 0 , EVST_VS_2_0 , EVST_VS_2_a , EVST_VS_3_0 , EVST_VS_4_0 , EVST_VS_4_1 , EVST_VS_5_0 , EVST_COUNT } |
| Compile target enumeration for the addHighLevelShaderMaterial() method. More... | |
| enum | E_PIXEL_SHADER_TYPE { EPST_PS_1_1 = 0 , EPST_PS_1_2 , EPST_PS_1_3 , EPST_PS_1_4 , EPST_PS_2_0 , EPST_PS_2_a , EPST_PS_2_b , EPST_PS_3_0 , EPST_PS_4_0 , EPST_PS_4_1 , EPST_PS_5_0 , EPST_COUNT } |
| Compile target enumeration for the addHighLevelShaderMaterial() method. More... | |
| enum | E_GEOMETRY_SHADER_TYPE { EGST_GS_4_0 = 0 , EGST_GS_4_1 , EGST_GS_5_0 , EGST_COUNT } |
| Enum for supported geometry shader types. More... | |
| enum | E_DOMAIN_SHADER_TYPE { EDST_DS_5_0 = 0 , EDST_COUNT } |
| Enum for supported domain shader types. More... | |
| enum | E_HULL_SHADER_TYPE { EHST_HS_5_0 = 0 , EHST_COUNT } |
| Enum for supported hull shader types. More... | |
| enum | E_COMPUTE_SHADER_TYPE { ECST_CS_4_0 = 0 , ECST_CS_4_1 , ECST_CS_5_0 , ECST_COUNT } |
| Enum for supported compute shader types. More... | |
| enum | E_GPU_SHADING_LANGUAGE { EGSL_DEFAULT = 0 , EGSL_CG } |
| Enumeration for different types of shading languages. More... | |
| enum | E_HARDWARE_BUFFER_TYPE { EHBT_NONE =0 , EHBT_VERTEX , EHBT_INDEX , EHBT_STREAM_OUTPUT , EHBT_SHADER_RESOURCE , EHBT_COMPUTE , EHBT_CONSTANTS , EHBT_SYSTEM } |
| enum | E_HARDWARE_BUFFER_ACCESS { EHBA_DYNAMIC = 0 , EHBA_DEFAULT , EHBA_IMMUTABLE , EHBA_SYSTEM_MEMORY } |
| enum | E_HARDWARE_BUFFER_FLAGS { EHBF_INDEX_16_BITS = 1 , EHBF_INDEX_32_BITS = 1 << 1 , EHBF_VERTEX_ADDITIONAL_BIND = 1 << 2 , EHBF_INDEX_ADDITIONAL_BIND = 1 << 3 , EHBF_SHADER_ADDITIONAL_BIND = 1 << 4 , EHBF_DRAW_INDIRECT_ARGS = 1 << 5 , EHBF_COMPUTE_RAW = 1 << 6 , EHBF_COMPUTE_STRUCTURED = 1 << 7 , EHBF_COMPUTE_APPEND = 1 << 8 , EHBF_COMPUTE_CONSUME = 1 << 9 } |
| enum | E_INDEX_TYPE { EIT_16BIT = 0 , EIT_32BIT } |
| enum | E_TEXTURE_CREATION_FLAG { ETCF_ALWAYS_16_BIT = 0x00000001 , ETCF_ALWAYS_32_BIT = 0x00000002 , ETCF_OPTIMIZED_FOR_QUALITY = 0x00000004 , ETCF_OPTIMIZED_FOR_SPEED = 0x00000008 , ETCF_CREATE_MIP_MAPS = 0x00000010 , ETCF_NO_ALPHA_CHANNEL = 0x00000020 , ETCF_ALLOW_NON_POWER_2 = 0x00000040 , ETCF_FORCE_32_BIT_DO_NOT_USE = 0x7fffffff } |
| Enumeration flags telling the video driver in which format textures should be created. More... | |
| enum | E_TEXTURE_LOCK_MODE { ETLM_READ_WRITE = 0 , ETLM_READ_ONLY , ETLM_WRITE_ONLY } |
| Enum for the mode for texture locking. Read-Only, write-only or read/write. More... | |
| enum | E_TEXTURE_SOURCE { ETS_UNKNOWN , ETS_FROM_CACHE , ETS_FROM_FILE } |
| Where did the last IVideoDriver::getTexture call find this texture. More... | |
| enum | E_TEXTURE_TYPE { ETT_TEXTURE_2D , ETT_TEXTURE_CUBE , ETT_TEXTURE_ARRAY } |
| enum | E_VERTEX_ATTRIBUTE_SEMANTIC { EVAS_POSITION = 0 , EVAS_NORMAL , EVAS_COLOR , EVAS_TEXCOORD0 , EVAS_TEXCOORD1 , EVAS_TEXCOORD2 , EVAS_TEXCOORD3 , EVAS_TEXCOORD4 , EVAS_TEXCOORD5 , EVAS_TEXCOORD6 , EVAS_TEXCOORD7 , EVAS_TEXCOORD8 , EVAS_TEXCOORD9 , EVAS_TEXCOORD10 , EVAS_TEXCOORD11 , EVAS_TEXCOORD12 , EVAS_TEXCOORD13 , EVAS_TEXCOORD14 , EVAS_TEXCOORD15 , EVAS_TANGENT , EVAS_BINORMAL , EVAS_BLEND_WEIGHTS , EVAS_BLEND_INDICES , EVAS_LIGHTPROBE , EVAS_VERTEXDATA , EVAS_LIGHTMAP , EVAS_CUSTOM , EVAS_COUNT } |
| enum | E_VERTEX_ATTRIBUTE_TYPE { EVAT_BYTE = 0 , EVAT_UBYTE , EVAT_SHORT , EVAT_USHORT , EVAT_INT , EVAT_UINT , EVAT_FLOAT , EVAT_DOUBLE } |
| enum | E_INSTANCE_DATA_STEP_RATE { EIDSR_PER_VERTEX , EIDSR_PER_INSTANCE } |
| enum | E_TRANSFORMATION_STATE { ETS_VIEW = 0 , ETS_WORLD , ETS_PROJECTION , ETS_WORLD_INVERSE , ETS_WORLD_INVERSE_TRANSPOSE , ETS_VIEW_PROJECTION , ETS_WORLD_VIEW_PROJECTION , ETS_TEXTURE_0 , ETS_TEXTURE_1 , ETS_TEXTURE_2 , ETS_TEXTURE_3 , ETS_COUNT } |
| enumeration for geometry transformation states More... | |
| enum | E_LOST_RESOURCE { ELR_DEVICE = 1 , ELR_TEXTURES = 2 , ELR_RTTS = 4 , ELR_HW_BUFFERS = 8 } |
| enumeration for signaling resources which were lost after the last render cycle More... | |
| 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 } |
| Special render targets, which usually map to dedicated hardware. More... | |
| enum | E_FOG_TYPE { EFT_FOG_EXP =0 , EFT_FOG_LINEAR , EFT_FOG_EXP2 } |
| Enum for the types of fog distributions to choose from. | |
| enum | E_CUBEMAP_FACE { ECUBE_LEFT = 0 , ECUBE_RIGHT , ECUBE_UP , ECUBE_DOWN , ECUBE_FRONT , ECUBE_BACK } |
| enum | E_VERTEX_TYPE { EVT_STANDARD = 0 , EVT_2TCOORDS , EVT_TANGENTS , EVT_SKIN , EVT_SKIN_TANGENTS , EVT_2TCOORDS_TANGENTS , EVT_SKIN_2TCOORDS_TANGENTS , EVT_UNKNOWN } |
| Enumeration for all vertex types there are. More... | |
| enum | ECOLOR_FORMAT { ECF_A1R5G5B5 = 0 , ECF_R5G6B5 , ECF_R8G8B8 , ECF_A8R8G8B8 , ECF_DXT1 , ECF_DXT2 , ECF_DXT3 , ECF_DXT4 , ECF_DXT5 , ECF_PVRTC_RGB2 , ECF_PVRTC_ARGB2 , ECF_PVRTC_RGB4 , ECF_PVRTC_ARGB4 , ECF_PVRTC2_ARGB2 , ECF_PVRTC2_ARGB4 , ECT_PVRTC2_RGBA4444 , ECT_PVRTC2_RGB565 , ECT_PVRTC2_RGB888 , ECT_PVRTC2_RGBA8888 , ECF_ETC1 , ECF_ETC2_RGB , ECF_ETC2_ARGB , ECF_R16F , ECF_G16R16F , ECF_A16B16G16R16F , ECF_R32F , ECF_G32R32F , ECF_A32B32G32R32F , ECF_D16 , ECF_D32 , ECF_D24S8 , ECF_R8 , ECF_R8G8 , ECF_R16 , ECF_R16G16 , ECF_UNKNOWN } |
| An enum for the color format of textures used by the Irrlicht Engine. More... | |
| enum | E_LIGHT_TYPE { ELT_POINT , ELT_SPOT , ELT_DIRECTIONAL , ELT_COUNT } |
| Enumeration for different types of lights. More... | |
| enum | E_BLEND_FACTOR { EBF_ZERO = 0 , EBF_ONE , EBF_DST_COLOR , EBF_ONE_MINUS_DST_COLOR , EBF_SRC_COLOR , EBF_ONE_MINUS_SRC_COLOR , EBF_SRC_ALPHA , EBF_ONE_MINUS_SRC_ALPHA , EBF_DST_ALPHA , EBF_ONE_MINUS_DST_ALPHA , EBF_SRC_ALPHA_SATURATE } |
| Flag for EMT_ONETEXTURE_BLEND, ( BlendFactor ) BlendFunc = source * sourceFactor + dest * destFactor. More... | |
| enum | E_BLEND_OPERATION { EBO_NONE = 0 , EBO_ADD , EBO_SUBTRACT , EBO_REVSUBTRACT , EBO_MIN , EBO_MAX , EBO_MIN_FACTOR , EBO_MAX_FACTOR , EBO_MIN_ALPHA , EBO_MAX_ALPHA } |
| Values defining the blend operation. More... | |
| enum | E_MODULATE_FUNC { EMFN_MODULATE_1X = 1 , EMFN_MODULATE_2X = 2 , EMFN_MODULATE_4X = 4 } |
| MaterialTypeParam: e.g. DirectX: D3DTOP_MODULATE, D3DTOP_MODULATE2X, D3DTOP_MODULATE4X. | |
| enum | E_COMPARISON_FUNC { ECFN_DISABLED =0 , ECFN_LESSEQUAL =1 , ECFN_EQUAL =2 , ECFN_LESS , ECFN_NOTEQUAL , ECFN_GREATEREQUAL , ECFN_GREATER , ECFN_ALWAYS , ECFN_NEVER } |
| Comparison function, e.g. for depth buffer test. More... | |
| enum | E_COLOR_PLANE { ECP_NONE =0 , ECP_ALPHA =1 , ECP_RED =2 , ECP_GREEN =4 , ECP_BLUE =8 , ECP_RGB =14 , ECP_ALL =15 } |
| Enum values for enabling/disabling color planes for rendering. More... | |
| enum | E_ALPHA_SOURCE { EAS_NONE =0 , EAS_VERTEX_COLOR , EAS_TEXTURE } |
| Source of the alpha value to take. More... | |
| enum | E_ANTI_ALIASING_MODE { EAAM_OFF =0 , EAAM_SIMPLE =1 , EAAM_QUALITY =3 , EAAM_LINE_SMOOTH =4 , EAAM_POINT_SMOOTH =8 , EAAM_FULL_BASIC =15 , EAAM_ALPHA_TO_COVERAGE =16 } |
| These flags are used to specify the anti-aliasing and smoothing modes. More... | |
| enum | E_COLOR_MATERIAL { ECM_NONE =0 , ECM_DIFFUSE , ECM_AMBIENT , ECM_EMISSIVE , ECM_SPECULAR , ECM_DIFFUSE_AND_AMBIENT } |
| These flags allow to define the interpretation of vertex color when lighting is enabled. More... | |
| enum | E_POLYGON_OFFSET { EPO_BACK =0 , EPO_FRONT =1 } |
| Flags for the definition of the polygon offset feature. More... | |
| enum | E_TEXTURE_CLAMP { ETC_REPEAT = 0 , ETC_CLAMP , ETC_CLAMP_TO_EDGE , ETC_CLAMP_TO_BORDER , ETC_MIRROR , ETC_MIRROR_CLAMP , ETC_MIRROR_CLAMP_TO_EDGE , ETC_MIRROR_CLAMP_TO_BORDER } |
| Texture coord clamp mode outside [0.0, 1.0]. More... | |
Functions | |
| u32 | getVertexPitchFromType (E_VERTEX_TYPE vertexType) |
| u16 | RGBA16 (u32 r, u32 g, u32 b, u32 a=0xFF) |
| Creates a 16 bit A1R5G5B5 color. | |
| u16 | RGB16 (u32 r, u32 g, u32 b) |
| Creates a 16 bit A1R5G5B5 color. | |
| u16 | RGB16from16 (u16 r, u16 g, u16 b) |
| Creates a 16bit A1R5G5B5 color, based on 16bit input values. | |
| u16 | X8R8G8B8toA1R5G5B5 (u32 color) |
| Converts a 32bit (X8R8G8B8) color to a 16bit A1R5G5B5 color. | |
| u16 | A8R8G8B8toA1R5G5B5 (u32 color) |
| Converts a 32bit (A8R8G8B8) color to a 16bit A1R5G5B5 color. | |
| u16 | A8R8G8B8toR5G6B5 (u32 color) |
| Converts a 32bit (A8R8G8B8) color to a 16bit R5G6B5 color. | |
| u32 | A1R5G5B5toA8R8G8B8 (u16 color) |
| Convert A8R8G8B8 Color from A1R5G5B5 color. | |
| u32 | R5G6B5toA8R8G8B8 (u16 color) |
| Returns A8R8G8B8 Color from R5G6B5 color. | |
| u16 | R5G6B5toA1R5G5B5 (u16 color) |
| Returns A1R5G5B5 Color from R5G6B5 color. | |
| u16 | A1R5G5B5toR5G6B5 (u16 color) |
| Returns R5G6B5 Color from A1R5G5B5 color. | |
| u32 | getAlpha (u16 color) |
| Returns the alpha component from A1R5G5B5 color. | |
| u32 | getRed (u16 color) |
| Returns the red component from A1R5G5B5 color. | |
| u32 | getGreen (u16 color) |
| Returns the green component from A1R5G5B5 color. | |
| u32 | getBlue (u16 color) |
| Returns the blue component from A1R5G5B5 color. | |
| s32 | getAverage (s16 color) |
| Returns the average from a 16 bit A1R5G5B5 color. | |
| f32 | pack_textureBlendFunc (const E_BLEND_FACTOR srcFact, const E_BLEND_FACTOR dstFact, const E_MODULATE_FUNC modulate=EMFN_MODULATE_1X, const u32 alphaSource=EAS_TEXTURE) |
| Pack srcFact, dstFact, Modulate and alpha source to MaterialTypeParam or BlendFactor. | |
| f32 | pack_textureBlendFuncSeparate (const E_BLEND_FACTOR srcRGBFact, const E_BLEND_FACTOR dstRGBFact, const E_BLEND_FACTOR srcAlphaFact, const E_BLEND_FACTOR dstAlphaFact, const E_MODULATE_FUNC modulate=EMFN_MODULATE_1X, const u32 alphaSource=EAS_TEXTURE) |
| Pack srcRGBFact, dstRGBFact, srcAlphaFact, dstAlphaFact, Modulate and alpha source to MaterialTypeParam or BlendFactor. | |
| void | unpack_textureBlendFunc (E_BLEND_FACTOR &srcFact, E_BLEND_FACTOR &dstFact, E_MODULATE_FUNC &modulo, u32 &alphaSource, const f32 param) |
| Unpack srcFact, dstFact, modulo and alphaSource factors. | |
| void | unpack_textureBlendFuncSeparate (E_BLEND_FACTOR &srcRGBFact, E_BLEND_FACTOR &dstRGBFact, E_BLEND_FACTOR &srcAlphaFact, E_BLEND_FACTOR &dstAlphaFact, E_MODULATE_FUNC &modulo, u32 &alphaSource, const f32 param) |
| Unpack srcRGBFact, dstRGBFact, srcAlphaFact, dstAlphaFact, modulo and alphaSource factors. | |
| bool | textureBlendFunc_hasAlpha (const E_BLEND_FACTOR factor) |
| has blend factor alphablending | |
Variables | |
| const char *const | sBuiltInMaterialTypeNames [] |
| Array holding the built in material type names. | |
| const c8 *const | VERTEX_SHADER_TYPE_NAMES [] |
| Names for all vertex shader types, each entry corresponds to a E_VERTEX_SHADER_TYPE entry. | |
| const c8 *const | PIXEL_SHADER_TYPE_NAMES [] |
| Names for all pixel shader types, each entry corresponds to a E_PIXEL_SHADER_TYPE entry. | |
| const c8 *const | GEOMETRY_SHADER_TYPE_NAMES [] |
| String names for supported geometry shader types. | |
| const c8 *const | DOMAIN_SHADER_TYPE_NAMES [] |
| String names for supported domain shader types. | |
| const c8 *const | HULL_SHADER_TYPE_NAMES [] |
| String names for supported hull shader types. | |
| const c8 *const | COMPUTE_SHADER_TYPE_NAMES [] |
| String names for supported compute shader types. | |
| const c8 *const | FogTypeNames [] |
| const char *const | sBuiltInVertexTypeNames [] |
| Array holding the built in vertex type names. | |
| const c8 *const | LightTypeNames [] |
| Names for light types. | |
| const c8 *const | PolygonOffsetDirectionNames [] |
| Names for polygon offset direction. | |
| const u32 | MATERIAL_MAX_TEXTURES = _IRR_MATERIAL_MAX_TEXTURES_ |
| Maximum number of texture an SMaterial can have. | |
| IRRLICHT_API SMaterial | IdentityMaterial |
| global const identity Material | |
The video namespace contains classes for accessing the video driver. All 2d and 3d rendering is done here.
Source of the alpha value to take.
This is currently only supported in EMT_ONETEXTURE_BLEND. You can use an or'ed combination of values. Alpha values are modulated (multiplicated).
| Enumerator | |
|---|---|
| EAS_NONE | Use no alpha, somewhat redundant with other settings. |
| EAS_VERTEX_COLOR | Use vertex color alpha. |
| EAS_TEXTURE | Use texture alpha channel. |
These flags are used to specify the anti-aliasing and smoothing modes.
Techniques supported are multisampling, geometry smoothing, and alpha to coverage. Some drivers don't support a per-material setting of the anti-aliasing modes. In those cases, FSAA/multisampling is defined by the device mode chosen upon creation via irr::SIrrCreationParameters.
Flag for EMT_ONETEXTURE_BLEND, ( BlendFactor ) BlendFunc = source * sourceFactor + dest * destFactor.
Values defining the blend operation.
These flags allow to define the interpretation of vertex color when lighting is enabled.
Without lighting being enabled the vertex color is the only value defining the fragment color. Once lighting is enabled, the four values for diffuse, ambient, emissive, and specular take over. With these flags it is possible to define which lighting factor shall be defined by the vertex color instead of the lighting factor which is the same for all faces of that material. The default is to use vertex color for the diffuse value, another pretty common value is to use vertex color for both diffuse and ambient factor.
Comparison function, e.g. for depth buffer test.
An enum for all types of drivers the Irrlicht Engine supports.
Enumeration for different types of lights.
enumeration for signaling resources which were lost after the last render cycle
These values can be signaled by the driver, telling the app that some resources were lost and need to be recreated. Irrlicht will sometimes recreate the actual objects, but the content needs to be recreated by the application.
Material flags.
Abstracted and easy to use fixed function/programmable pipeline material modes.
| Enumerator | |
|---|---|
| EMT_SOLID | Standard solid material. Only first texture is used, which is supposed to be the diffuse material. |
| EMT_TRANSPARENT_ADD_COLOR | A transparent material. Only the first texture is used. The new color is calculated by simply adding the source color and the dest color. This means if for example a billboard using a texture with black background and a red circle on it is drawn with this material, the result is that only the red circle will be drawn a little bit transparent, and everything which was black is 100% transparent and not visible. This material type is useful for particle effects. |
| EMT_TRANSPARENT_ALPHA_CHANNEL | Makes the material transparent based on the texture alpha channel. The final color is blended together from the destination color and the texture color, using the alpha channel value as blend factor. Only first texture is used. If you are using this material with small textures, it is a good idea to load the texture in 32 bit mode (video::IVideoDriver::setTextureCreationFlag()). Also, an alpha ref is used, which can be manipulated using SMaterial::MaterialTypeParam. This value controls how sharp the edges become when going from a transparent to a solid spot on the texture. |
| EMT_TRANSPARENT_ALPHA_CHANNEL_REF | Makes the material transparent based on the texture alpha channel. If the alpha channel value is greater than 127, a pixel is written to the target, otherwise not. This material does not use alpha blending and is a lot faster than EMT_TRANSPARENT_ALPHA_CHANNEL. It is ideal for drawing stuff like leafes of plants, because the borders are not blurry but sharp. Only first texture is used. If you are using this material with small textures and 3d object, it is a good idea to load the texture in 32 bit mode (video::IVideoDriver::setTextureCreationFlag()). |
| EMT_TRANSPARENT_VERTEX_ALPHA | Makes the material transparent based on the vertex alpha value. |
| EMT_TRANSPARENT_MULTIPLY_COLOR | Skylicht engine update. |
| EMT_FORCE_32BIT | This value is not used. It only forces this enumeration to compile to 32 bit. |
Flags for the definition of the polygon offset feature.
These flags define whether the offset should be into the screen, or towards the eye.
Special render targets, which usually map to dedicated hardware.
These render targets (besides 0 and 1) need not be supported by gfx cards
Texture coord clamp mode outside [0.0, 1.0].
Enumeration flags telling the video driver in which format textures should be created.
Enum for the mode for texture locking. Read-Only, write-only or read/write.
Where did the last IVideoDriver::getTexture call find this texture.
| Enumerator | |
|---|---|
| ETS_UNKNOWN | IVideoDriver::getTexture was never called (texture created otherwise). |
| ETS_FROM_CACHE | Texture has been found in cache. |
| ETS_FROM_FILE | Texture had to be loaded. |
enumeration for geometry transformation states
Enumeration for all vertex types there are.
| Enumerator | |
|---|---|
| EVT_STANDARD | Standard vertex type used by the Irrlicht engine, video::S3DVertex. |
| EVT_2TCOORDS | Vertex with two texture coordinates, video::S3DVertex2TCoords. Usually used for geometry with lightmaps or other special materials. |
| EVT_TANGENTS | Vertex with a tangent and binormal vector, video::S3DVertexTangents. Usually used for tangent space normal mapping. |
| EVT_SKIN | Skylicht support hardware skinning. |
| EVT_UNKNOWN | Null. |
enumeration for querying features of the video driver.
An enum for the color format of textures used by the Irrlicht Engine.
A color format specifies how color information is stored.
Convert A8R8G8B8 Color from A1R5G5B5 color.
build a nicer 32bit Color by extending dest lower bits with source high bits.
Returns the alpha component from A1R5G5B5 color.
In Irrlicht, alpha refers to opacity.
Returns the blue component from A1R5G5B5 color.
Shift left by 3 to get 8 bit value.
Returns the green component from A1R5G5B5 color.
Shift left by 3 to get 8 bit value.
Returns the red component from A1R5G5B5 color.
Shift left by 3 to get 8 bit value.
|
inline |
Pack srcFact, dstFact, Modulate and alpha source to MaterialTypeParam or BlendFactor.
alpha source can be an OR'ed combination of E_ALPHA_SOURCE values.
|
inline |
Pack srcRGBFact, dstRGBFact, srcAlphaFact, dstAlphaFact, Modulate and alpha source to MaterialTypeParam or BlendFactor.
alpha source can be an OR'ed combination of E_ALPHA_SOURCE values.
|
inline |
Unpack srcFact, dstFact, modulo and alphaSource factors.
The fields don't use the full byte range, so we could pack even more...
|
inline |
Unpack srcRGBFact, dstRGBFact, srcAlphaFact, dstAlphaFact, modulo and alphaSource factors.
The fields don't use the full byte range, so we could pack even more...
| const c8* const irr::video::COMPUTE_SHADER_TYPE_NAMES[] |
String names for supported compute shader types.
| const c8* const irr::video::DOMAIN_SHADER_TYPE_NAMES[] |
String names for supported domain shader types.
| const c8* const irr::video::FogTypeNames[] |
| const c8* const irr::video::GEOMETRY_SHADER_TYPE_NAMES[] |
String names for supported geometry shader types.
| const c8* const irr::video::HULL_SHADER_TYPE_NAMES[] |
String names for supported hull shader types.
| const c8* const irr::video::LightTypeNames[] |
Names for light types.
| const c8* const irr::video::PIXEL_SHADER_TYPE_NAMES[] |
Names for all pixel shader types, each entry corresponds to a E_PIXEL_SHADER_TYPE entry.
| const c8* const irr::video::PolygonOffsetDirectionNames[] |
Names for polygon offset direction.
| const char* const irr::video::sBuiltInMaterialTypeNames[] |
Array holding the built in material type names.
| const char* const irr::video::sBuiltInVertexTypeNames[] |
Array holding the built in vertex type names.
| const c8* const irr::video::VERTEX_SHADER_TYPE_NAMES[] |
Names for all vertex shader types, each entry corresponds to a E_VERTEX_SHADER_TYPE entry.