Namespaces | |
Utilities | |
Classes | |
class | ARefObject |
This class implemented IRefObject interfaces. More... | |
class | AtomicRefCounter |
this class contains an integer which is initialized to zero. More... | |
class | AutoRestoreRenderNodeMaterial |
This is a utility class for assigning customized solid material to the solid mesh render item of a render node when generating render items from IMeshDisplay2::GetRenderItems() during the execution of BaseObject::UpdatePerNodeItems() More... | |
class | AutoRestoreWorldMatrix |
class | BaseMaterialHandle |
This is base graphics material class. More... | |
class | BaseRasterHandle |
This is our base graphics raster resource class. More... | |
class | BlendState |
This class holds the blend state for all render targets. More... | |
class | ConnectionPoint |
ConnectionPoint is the base class that manages the connections between view fragments. More... | |
struct | ConsolidationData |
This a structure that holds parameters used for render item consolidation. More... | |
class | CustomRenderItemHandle |
CustomRenderItemHandle is a wrapper of ICustomRenderItem. More... | |
class | CustomRenderStageHandle |
CustomRenderStageHandle is the base wrapper class of the custom render stage. More... | |
class | DefaultLifeTimePolicy |
class | DepthStencilState |
This class encapsulates a complete depth buffer and stencil buffer state. More... | |
struct | DeviceCaps |
This struct is used to store some device related information. More... | |
class | DisplayCallbackContext |
This class contains context which can be queried in IDisplayCallback. More... | |
class | DisplayTextureHelper |
Used for creating texture handles (TexHandle) and updating texture data managed by the viewport display system. More... | |
class | DisplayTextureHelperExt |
DisplayTextureHelperExt extends DisplayTextureHelper to support more textures Used for creating stage texture handles (TexHandle) and updating texture data managed by the viewport display system. More... | |
class | DrawContext |
Typically ICustomRenderItem::Draw() and ICustomRenderItem::HitTest() bring instance of this class as parameter. More... | |
class | EffectHandle |
EffectHandle is a class provides features similar as Effect in Direct3D This class is used for viewport display and Quicksilver. More... | |
class | EffectInstanceHandle |
EffectInstanceHandle is a class which stores values of parameters in an effect. More... | |
struct | EvaluationContext |
This struct is a collection of elements that are necessary in a render view. More... | |
class | Fragment |
Fragment is the base computation unit in the view system. More... | |
class | FragmentGraph |
FragmentGraph is a graph consisting of fragment nodes. More... | |
struct | FragmentMessageParameter |
Message parameters. More... | |
class | GenerateMeshRenderItemsContext |
This class contains all information that will be passed to Mesh::GenerateRenderItems() or MNMesh::GenerateRenderItems() to update its display data. More... | |
class | GeometryRenderItemHandle |
This is a special render item which used only by Mesh/MNMesh. More... | |
class | HitTestContext |
This is a hit test context class. More... | |
class | HLSLMaterialHandle |
HLSLMaterialHandle is a material class to support HLSL custom material. More... | |
class | ICamera |
The interface of a render camera for nitrous viewport. More... | |
class | IConsolidationKey |
This class is used as a key for a hash table. More... | |
class | IConsolidationRenderItem |
This class defines a consolidation render item, which is used to improve rendering performance by batching similar render items together. More... | |
class | IConsolidationStrategy |
This class defines a strategy to consolidate one type of consolidation key. More... | |
class | ICustomRenderItem |
This class is used to customize the behavior of a render item. More... | |
class | IDisplayCallback |
A developer would implement this interface to allow immediate mode drawing of primitives, text and markers. More... | |
class | IDisplayManager |
A core interface for accessing properties of the graphics library introduced in 3ds Max 2012. More... | |
class | IDisposable |
class | IFixedViewportPipeline |
This class provide some facility to add some extended behavior to the fixed render pipeline. More... | |
class | IHLSLMaterialTranslator |
Facilitates translation of material parameter values to their shaders representation. More... | |
class | IMeshDisplay2 |
Use this interface to query the per node related render items from a mesh or mnesh. More... | |
class | ImmediateFragment |
ImmediateFragment is a class which let application render primitives outside the render loop. More... | |
class | ImmediateRenderItemHandle |
This class is used to wrap user defined IDisplayCallback class. More... | |
class | IndexBufferHandle |
IndexBufferHandle is a memory buffer that contain index data. More... | |
class | Input |
Class that stores input information for a fragment. More... | |
class | IObjectDisplay2 |
To give object plugins better control of display, now object plugins can expose IObjectDisplay2 interface. More... | |
class | IParameterTranslator |
Facilitates translation of material and texture map parameter values to their shaders representation. More... | |
class | IPrimitiveRenderer |
This class is used to draw simple primitives, markers, text with given material and transformations. More... | |
class | IRefObject |
This class is similar to IUnknown in COM. More... | |
class | IRenderGeometry |
IRenderGeometry is a presentation of geometry. More... | |
class | IRenderItemContainer |
A render item container, it provides various methods to access the contained render items. More... | |
class | IRenderStateManager |
IRenderStateManager controls primitive renderer's current render style. More... | |
class | IRenderView |
This class is a representation of a render view which provides some common functions to manipulate a viewport. More... | |
class | IRenderView2 |
IRenderView2 provide the access to IFixedViewportPipeline with which 3rd party developer can add some extended behavior to the fixed render pipeline. More... | |
class | IShaderManager |
Represents the programmable shader associated with a material or texture map plug-in. More... | |
class | IShaderManagerCreator |
Factory class for IShaderManager objects. More... | |
class | ISimpleMaterial |
ISimpleMaterial provides any material or texture plugin the ability to display itself in the new Viewport Display system in 3ds Max 2012. More... | |
class | ISimpleMaterialExt |
ISimpleMaterialExt extends ISimpleMaterial to support more textures. More... | |
class | ITextureDisplay |
This interface enables material and texture map plugins to display textures in the new viewport display system in 3ds Max 2012. More... | |
class | IVariableDictionary |
IVariableDictionary is a map structure that contains key/variable pairs. More... | |
class | IView |
This class is a representation of a basic view. More... | |
class | IViewportViewSetting |
Viewport Setting For The Nitrous Graphics Viewport. More... | |
class | IVirtualDevice |
This class provides low level access to the GPU device. More... | |
struct | LockedRect |
Defines a rectangular region that has been locked by a call to TextureHandle::LockRect(). More... | |
struct | MaterialRequiredStreamElement |
This struct describes a single stream element that will be used by the hardware shader of a material. More... | |
class | MaterialRequiredStreams |
This class is used for describing the mesh stream requirements of a material. More... | |
class | Matrix44 |
class | MemoryTargetHandle |
Application can use this class to create a render target in memory which can be a target input/output for a fragment node. More... | |
class | MeshElementDescription |
This class describes a single mesh element(which corresponds to a render item) required to be generated by calling Mesh::GenerateRenderItems() or MNMesh::GenerateRenderItems() from the specified mesh(or mnmesh). More... | |
class | Output |
Class that stores output information for a fragment. More... | |
class | PresentableTargetHandle |
This class is similar as TargetHandle. More... | |
struct | Query_Data_SO_Statistics |
class | QueryHandle |
QueryHandle is a query object used for submitting hardware queries. More... | |
class | RasterizerState |
This class encapsulates a complete rasterizer state, like fill mode, cull mode, point size, etc. More... | |
struct | RectangleSize |
the struct that defines the width and height of one rectangle. More... | |
class | RefPtr |
This template class act similar as CComPtr. More... | |
class | RenderItemHandle |
This is the base wrapper class for all viewport render items. More... | |
class | RenderItemHandleArray |
This is a utility class. More... | |
class | RenderItemHandleDecorator |
This is a decorator class for RenderItemHandle. More... | |
class | RenderNodeHandle |
This class describes a graphics node. More... | |
class | RenderNodeIterator |
RenderNodeIterator is the iterator class to iterate all render nodes in the current render world. More... | |
struct | RenderRegion |
Note: The render region can set the clipping rectangle,offset and scale of render target in the screen space of render view. More... | |
class | RenderWorldHandle |
RenderWorldHandle is the base wrapper class of the nitrous world. More... | |
class | SafeReferenceObjectProxy |
This class is internally used for preventing the AddRef and Release of a pointer returned by RefPtr::operator -> from being called. More... | |
class | SimpleRenderGeometry |
SimpleRenderGeometry is a simple implementation of IRenderGeometry. More... | |
struct | SimpleVertexStream |
Used by DrawPrimitive and DrawIndexedPrimitive for vertex data. More... | |
class | SmartHandle |
This is the base wrapper class for all graphics primitive classes in max viewport: worlds, nodes, render items, materials, etc. More... | |
class | SolidColorMaterialHandle |
SolidColorMaterialHandle is a material class to support solid color. More... | |
class | StandardMaterialHandle |
StandardMaterialHandle is a material class to support phong style material . More... | |
class | StencilOperation |
This class encapsulates a complete set of stencil buffer operations for stencil test. More... | |
class | TargetBlendState |
This class holds the blend state for single render target. More... | |
class | TargetHandle |
Application can use this class either as a render target or convert it to texture and assign to model. More... | |
struct | TextureCoordStream |
This structure is used to define vertex's texture coordinate information. More... | |
class | TextureHandle |
This is texture class to support texture for material, such as TextureMaterialHandle. More... | |
class | TextureHandleUtility |
This is utility class to create TextureHandle from Texmap. More... | |
class | TextureMaterialHandle |
This is material class to support material with texture. More... | |
class | UpdateDisplayContext |
This class contains all information that will be passed to IObjectDisplay::UpdateDisplay and will be used by plugin to update its display data. More... | |
class | UpdateNodeContext |
This class contains node dependent information for calling IObjectDisplay2::UpdatePerNodeItems(), and IObjectDisplay2::UpdatePerViewItems() More... | |
class | UpdateViewContext |
This class contains view dependent information for calling IObjectDisplay2::UpdatePerViewItems() More... | |
class | Variable |
Variable is a simple class that stores certain data that a developer can decide at runtime. More... | |
class | VertexBufferHandle |
VertexBufferHandle is a memory buffer that contain vertex data. More... | |
class | VertexColorMaterialHandle |
VertexColorMaterialHandle is a material class to support vertex color. More... | |
class | ViewFragment |
Base class of all viewport fragment. More... | |
class | ViewParameter |
This class wrap up all viewport related parameters. More... | |
Typedefs | |
typedef MaxSDK::Array< MSTR > | TechniqueNames |
typedef RefPtr< Fragment > | FragmentPtr |
typedef RefPtr< FragmentGraph > | FragmentGraphPtr |
typedef RefPtr< ICamera > | CameraPtr |
typedef RefPtr< IConsolidationKey > | IConsolidationKeyPtr |
typedef RefPtr< IConsolidationRenderItem > | IConsolidationRenderItemPtr |
typedef RefPtr< ICustomRenderItem > | ICustomRenderItemPtr |
typedef RefPtr< IDisplayCallback > | IDisplayCallbackPtr |
typedef RefPtr< IRefObject > | RefObjectPtr |
typedef RefPtr< IRenderGeometry > | IRenderGeometryPtr |
typedef MaxSDK::Array< SmartHandle > | SmartHandleArray |
typedef MaxSDK::Array< TargetHandle > | TargetHandleArray |
typedef unsigned __int64 | Identifier |
This is the unique id type of our internal graphics objects. More... | |
typedef unsigned long | Bitfields |
record the dirty flags of render view. More... | |
typedef MaxSDK::Array< VertexBufferHandle > | VertexBufferHandleArray |
typedef MaxSDK::Graphics::RefPtr< ViewParameter > | ViewParameterPtr |
Functions | |
FragmentGraphAPI bool | IsNumberType (VarType type) |
Checks if the given type is number type. More... | |
FragmentGraphAPI bool | IsCompatibleType (VarType lhs, VarType rhs) |
Checks if two types can be converted to each other. More... | |
DataBridgeAPI size_t | GetVertexStride (const VertexFieldType type) |
Get the vertex stride by a given vertex type, in bytes. More... | |
DataBridgeAPI size_t | GetIndexStride (const IndexType type) |
Get the index stride by a given index type, in bytes. More... | |
GraphicsDriverAPI size_t | CombineHashCode (size_t seed, size_t hashCode) |
A utility function for generating hash code. More... | |
UtilExport MaxSDK::Graphics::IDisplayManager * | GetIDisplayManager () |
Helper function to access the IDisplayManager core interface. More... | |
bool | IsRetainedModeEnabled () |
Helper function to test whether the new viewport graphics system is running. More... | |
bool | IsHardwareHitTesting (ViewExp *vpt) |
Helper function to test whether the new viewport graphics system is performing hardware hit testing. More... | |
template<class RefObjectType , class SafeRefObjectType , class LifeTimePolicy > | |
bool | operator== (void *pPtr, const RefPtr< RefObjectType, SafeRefObjectType, LifeTimePolicy > &pInterface) |
template<class RefObjectType , class SafeRefObjectType , class LifeTimePolicy > | |
bool | operator!= (void *pPtr, const RefPtr< RefObjectType, SafeRefObjectType, LifeTimePolicy > &pInterface) |
GraphicsDriverAPI void | MaxWorldMatrixToMatrix44 (Matrix44 &outMatrix, const Matrix3 &inMatrix) |
Convert Matrix3 to Matrix44. More... | |
GraphicsDriverAPI void | Matrix44ToMaxWorldMatrix (Matrix3 &outMatrix, const Matrix44 &inMatrix) |
Convert Matrix44 to Matrix3. More... | |
GraphicsDriverAPI const MeshElementDescription & | GetBuiltInMeshElementDescription (BuiltInMeshElementDescription type) |
Get a specified built-in mesh element description. More... | |
GraphicsDriverAPI DWORD | GetDeviceCompatibleARGBColor (DWORD color) |
Use this function for TargetFormatA8R8G8B8 only. More... | |
GraphicsDriverAPI size_t | GetTargetFormatPixelSize (TargetFormat format) |
Get the number of bytes for each pixel by a given target format. More... | |
GraphicsDriverAPI VertexBufferHandle | GenerateInstanceData (Matrix3 *worldTransforms, size_t count) |
Generate the instance data from a Matrix3 array. More... | |
GraphicsDriverAPI VertexBufferHandle | GenerateInstanceData (Point3 *UVs, Matrix3 *worldTransforms, size_t count) |
Generate the instance data from a texture coordinates array and a Matrix3 array. More... | |
GraphicsDriverAPI bool | GenerateInstanceRenderItem (RenderItemHandle &hInstanceRenderItem, const RenderItemHandle &hTupleMeshHandle, const VertexBufferHandle &hInstanceData) |
Generate the instance render item from a tuple mesh and a Matrix3 array. More... | |
typedef MaxSDK::Array<MSTR> TechniqueNames |
typedef RefPtr<Fragment> FragmentPtr |
typedef RefPtr<FragmentGraph> FragmentGraphPtr |
typedef RefPtr<IConsolidationKey> IConsolidationKeyPtr |
typedef RefPtr<ICustomRenderItem> ICustomRenderItemPtr |
typedef RefPtr<IDisplayCallback> IDisplayCallbackPtr |
typedef RefPtr<IRefObject> RefObjectPtr |
typedef RefPtr<IRenderGeometry> IRenderGeometryPtr |
typedef MaxSDK::Array<SmartHandle> SmartHandleArray |
typedef MaxSDK::Array<TargetHandle> TargetHandleArray |
typedef unsigned __int64 Identifier |
This is the unique id type of our internal graphics objects.
typedef unsigned long Bitfields |
record the dirty flags of render view.
See the enumeration RenderViewDirtyFlag.
enum FrameType |
Indicates the type of frame.
enum RenderViewDirtyFlag |
Indicates the dirty flag of render view.
Enumerator | |
---|---|
RenderViewDirtyFlagViewChanged |
View elements such as width,height or position are changed. |
RenderViewDirtyFlagFragmentChanged |
Fragment elements such as input,out or connection are changed. |
enum FragmentFlags |
This enum contains flags that specify certain states of a fragment or fragment graph node.
Enumerator | |
---|---|
FragmentFlagsEvaluated |
Indicates whether this fragment has already been evaluated during a recursive call to FragmentGraph::Evaluate(). If this flag is true, we simply ignore evaluating this fragment an additional time. |
FragmentFlagsDirty |
Indicates whether this fragment is dirty and needs to be evaluated once more. Note this flag is mainly used to indicate if a viewport redraw is required. |
enum FragmentMessageID |
This enum describes types of messages a fragment could register and receive from the fragment system.
Fragment::OnMessage is invoked whenever a fragment receives the registered messages from the fragment system.
Enumerator | |
---|---|
FragmentMessageIDTimer |
The timer message. A fragment may call Fragment::SetTimerTicks to register a timer. When the timer ticks, Fragment::OnMessage is invoked. |
FragmentMessageIDEndFrame |
The end frame message. A fragment will receive this message at the end of each frame. |
BuiltInFragmentMessageIDCount |
Preserved count of built-in message. |
enum VarType |
built-in variable types.
For more details please see class Variable.
Enumerator | |
---|---|
VT_Char |
A single char type. |
VT_UnsignedChar |
unsigned char type. |
VT_WideChar |
wchar_t type. |
VT_Short |
short type. |
VT_UnsignedShort |
unsigned short type. |
VT_Int |
int type. |
VT_UnsignedInt |
unsigned int type. |
VT_Long |
long type. |
VT_UnsignedLong |
unsigned long type. |
VT_Int64 |
__int64 type. |
VT_UnsignedInt64 |
unsigned __int64 type. |
VT_Float |
float type. |
VT_Double |
double type. |
VT_StringA |
Ascii string type. |
VT_StringW |
Unicode string type. |
VT_Dictionary |
dictionary type. If a variable is this type, it is actually a map. The key is a multi-byte string, while the value is another variable. |
VT_IRefObject |
A IRefObject type. The variable will hold a reference of that object. |
enum VertexFieldType |
types available for vertex fields, e.g.
Float4
enum VertexFieldUsage |
Indicates the usage of a vertex field of a vertex buffer.
This enum is used to make hardware shaders understand the usage of vertex buffer.
enum MeshChannelCategory |
Indicates the data source of a vertex field of a mesh vertex buffer.
e.g. Position, Normal, Texture, etc.
enum IndexType |
Buffers are composed of arrays of elements all of the same type.
This enum describes the size and interpretation of the elements in the buffer. Index buffers can have ushort or uint elements.
Enumerator | |
---|---|
IndexTypeUnknown |
not defined |
IndexTypeShort |
unsigned 16 bit short integer, used for index buffers. |
IndexTypeInt |
unsigned 32 bit integer, used for index buffers. |
IndexTypeCount |
enum BufferUsageType |
BufferUsageType Types for OGS buffer usage.
Enumerator | |
---|---|
BufferUsageStatic |
static usage type. Data stores in GPU memory. |
BufferUsageDynamic |
Dynamic buffer. If the resource contents are to be changed often, EDynamicUsage is recommended to achieve fast update. Used with the correct map flag( WriteDiscard or WriteNoOverwrite), maximum performance to change the contents will be achieved. Meaning of WriteNoOverwrite: WriteNoOverwrite signifies that the application promises not to write to data that the GPU is using. In exchange, the GPU allows the application to write to other parts of the same buffer. The application must ensure that it does not write over any data in use by the GPU. Common Usage of WriteDiscard with WriteNoOverwrite as map flags: WriteDiscard and WriteNoOverwrite are normally used in conjunction with dynamic index/vertex buffers, although they can also be used with dynamic textures. A common use of these two flags involves filling dynamic index/vertex buffers with geometry that can be seen from the camera's current position. The first time that data is entered into the buffer on a given frame, Map is called with WriteDiscard; doing so invalidates the previous contents of the buffer. The buffer is then filled with all available data. Subsequent writes to the buffer within the same frame should use WriteNoOverwrite. This will enable the CPU to access a resource that is potentially being used by the GPU as long as the restrictions described previously are respected. |
BufferUsageStaging | |
BufferUsageMask | |
BufferUsageStreamTexture |
Usage for stream output for vb & ibs, may be used as a texture. |
BufferUsageTarget |
Usage for render target, it means the resouce created from video memory and can be used as render-target for vb & ibs & textures, may be used as a render target/stream output buffer. |
BufferUsageUnorderedAccess |
Usage for unordered access of the resource. This allows the resource to be both read and written by a shader, through the use of atomic functions. Check the device capabilities to determine support. |
BufferUsageStructure |
Usage for structured buffer. If this flag is specified, the buffer must use BufferPoolTypeHardwareBuffer for pool type |
BufferUsageRaw |
Usage for bytes address buffer. |
BufferUsageBuffer |
Usage for standard buffer type If this flag is specified, user must specify dataType parameter of VertexBufferHandle::Initialize() |
enum BufferPoolType |
enum VisualStyle |
Enum type for all visual styles of nitrous viewport.
enum ViewportPreset |
Enum type for all presets of nitrous viewport.
This enum contains flags that can be combined together to specify whether or not certain functions of IObjectDisplay2 will be supported.
This enum defines requirement flags of material additional to mesh stream requirements of MaterialRequiredStreams.
Enumerator | |
---|---|
MaterialRequirementSplitByMaterialID |
Plug-in needs to split mesh to sub meshes according to face material id. This flag is on when the material is multi/sub material. |
enum MeshElementType |
This enum describes the type of mesh element to be generated.
Each mesh element corresponds to a specific render item generated by calling Mesh::GenerateRenderItems() or MNMesh::GenerateRenderItems().
Enumerator | |
---|---|
MeshElementTypeSolidMesh |
Solid Mesh, it could be: vertex color mesh or general mesh. This will be displayed in any viewport that requires smooth mesh. |
MeshElementTypeVertexTicks |
Vertex ticks. This will be displayed when the node has "Vertex Ticks" display option on or the vertex tick sub-object be selected. |
MeshElementTypeEdge |
Edge mesh, this layer includes the edges. This will be displayed in viewport that has "wireframe" or "hidden line" on or when the edge sub-object level is selected. |
MeshElementTypeDiagonal |
Diagonal Mesh. This is the dotted edge lines when user turn off "edges only" display property of a node and enable the wireframe mode of viewport. |
MeshElementTypeFace |
This is the face render item of the mesh when this mesh is displayed in face sub-object level. |
MeshElementTypeNormal |
Mesh normals. This mesh element is required when we need to show all normals of selected face. |
enum MeshPart |
When a mesh is displayed in any sub-object level, this enum help decide which part of the mesh this mesh element belongs to.
This enum defines some kinds of built-in mesh element descriptions.
Developer may query a built-in mesh element description by calling MeshElementDescription::GetBuiltInMeshElementDescription() using any enum value below.
enum PrimitiveType |
Supported primitive types.
Enumerator | |
---|---|
PrimitivePointList |
A list of independent points. |
PrimitiveLineList |
A list of unconnected two-point line segments, such that the number of lines is the the total number of points divided by two. |
PrimitiveLineStrip |
A polyline, where each point is connected to the previous vertex, yielding a single polyline with (vertex_count - 1) two-point line segments. |
PrimitiveTriangleList |
A list of unconnected triangles, yielding (vertex_count / 3) triangles. |
PrimitiveTriangleStrip |
A strip of connected triangles, such that each vertex after the first three vertices defines a new triangle, yielding (vertex_count - 1) connected triangles.
|
PrimitiveLineListAdj |
A line list with adjacency information. |
PrimitiveLineStripAdj |
A line strip with adjacency information. |
PrimitiveTriangleListAdj |
A triangle list with adjacency information. |
PrimitiveTriangleStripAdj |
A triangle strip with adjacency information. |
PrimitivePatchList1 |
A patch list with 1 control point. |
PrimitivePatchList2 |
A patch list with 2 control point. |
PrimitivePatchList3 |
A patch list with 3 control point. |
PrimitivePatchList4 |
A patch list with 4 control point. |
PrimitivePatchList5 |
A patch list with 5 control point. |
PrimitivePatchList6 |
A patch list with 6 control point. |
PrimitivePatchList7 |
A patch list with 7 control point. |
PrimitivePatchList8 |
A patch list with 8 control point. |
PrimitivePatchList9 |
A patch list with 9 control point. |
PrimitivePatchList10 |
A patch list with 10 control point. |
PrimitivePatchList11 |
A patch list with 11 control point. |
PrimitivePatchList12 |
A patch list with 12 control point. |
PrimitivePatchList13 |
A patch list with 13 control point. |
PrimitivePatchList14 |
A patch list with 14 control point. |
PrimitivePatchList15 |
A patch list with 15 control point. |
PrimitivePatchList16 |
A patch list with 16 control point. |
PrimitivePatchList17 |
A patch list with 17 control point. |
PrimitivePatchList18 |
A patch list with 18 control point. |
PrimitivePatchList19 |
A patch list with 19 control point. |
PrimitivePatchList20 |
A patch list with 20 control point. |
PrimitivePatchList21 |
A patch list with 21 control point. |
PrimitivePatchList22 |
A patch list with 22 control point. |
PrimitivePatchList23 |
A patch list with 23 control point. |
PrimitivePatchList24 |
A patch list with 24 control point. |
PrimitivePatchList25 |
A patch list with 25 control point. |
PrimitivePatchList26 |
A patch list with 26 control point. |
PrimitivePatchList27 |
A patch list with 27 control point. |
PrimitivePatchList28 |
A patch list with 28 control point. |
PrimitivePatchList29 |
A patch list with 29 control point. |
PrimitivePatchList30 |
A patch list with 30 control point. |
PrimitivePatchList31 |
A patch list with 31 control point. |
PrimitivePatchList32 |
A patch list with 32 control point. |
PrimitiveTypeCount |
enum BufferClearFlag |
enum BlendSelector |
blend selector.
selects a blend source/destination
enum CullMode |
enum FillMode |
enum CompareFunction |
compare functions
enum ColorWriteEnable |
enum BlendOperation |
blend operations
enum StencilOperationType |
Stencil buffer operation.
enum AccessType |
AccessType Types for accessing buffers.
enum TargetFormat |
TargetFormat indicates which type the target/texture is.
enum GraphicFeatureLevel |
This enum specifies the feature levels device supported.
enum TextureType |
Texture type enums.
enum ResourceUsage |
Resource usage, used for texture.
enum QueryType |
Enums for QueryHandle, indicates which query types to issue.
Refer D3D11_QUERY in DirectX Graphics Document for detail.
Enumerator | |
---|---|
QueryType_Event |
Same as D3D11_QUERY_EVENT Determines whether or not the GPU is finished processing commands. |
QueryType_Occlusion |
Same as D3D11_QUERY_OCCLUSION Get the number of samples that passed the depth and stencil tests in between QueryHandle::Begin() and QueryHandle::End(). |
QueryType_TimeStamp |
Same as D3D11_QUERY_TIMESTAMP Get a timestamp value from QueryHandle::GetData() |
QueryType_Occlusion_Test |
Same as D3D11_QUERY_OCCLUSION_PREDICATE Return BOOL in QueryHandle::GetData(), indicates any pixels passes depth and stencil tests. |
QueryType_SO_Overflow_Test |
Same as D3D11_QUERY_SO_OVERFLOW_PREDICATE Indicates whether or not any of the streaming output buffers overflowed between QueryHandle::Begin() and QueryHandle::End(). |
QueryType_SO_Stats |
Same as D3D11_QUERY_SO_STATISTICS Get streaming output statistics, such as the number of primitives streamed out in between QueryHandle::Begin() and QueryHandle::End(). |
enum ZBiasPresets |
This enum defines in what group a render item is visible.
This enum contains flags that can be combined together to specify which part is required by the node when updating render items.
FragmentGraphAPI bool MaxSDK::Graphics::IsNumberType | ( | VarType | type | ) |
Checks if the given type is number type.
[in] | type | type value. |
FragmentGraphAPI bool MaxSDK::Graphics::IsCompatibleType | ( | VarType | lhs, |
VarType | rhs | ||
) |
Checks if two types can be converted to each other.
[in] | lhs | The first type. |
[in] | rhs | The second type. |
DataBridgeAPI size_t MaxSDK::Graphics::GetVertexStride | ( | const VertexFieldType | type | ) |
Get the vertex stride by a given vertex type, in bytes.
type | the vertex type. |
DataBridgeAPI size_t MaxSDK::Graphics::GetIndexStride | ( | const IndexType | type | ) |
Get the index stride by a given index type, in bytes.
type | the index type. |
GraphicsDriverAPI size_t MaxSDK::Graphics::CombineHashCode | ( | size_t | seed, |
size_t | hashCode | ||
) |
A utility function for generating hash code.
UtilExport IDisplayManager * GetIDisplayManager | ( | ) |
Helper function to access the IDisplayManager core interface.
|
inline |
Helper function to test whether the new viewport graphics system is running.
|
inline |
Helper function to test whether the new viewport graphics system is performing hardware hit testing.
vpt | The specific viewport in which we want to know whether we are performing hardware hit testing. |
GraphicsDriverAPI void MaxSDK::Graphics::MaxWorldMatrixToMatrix44 | ( | Matrix44 & | outMatrix, |
const Matrix3 & | inMatrix | ||
) |
GraphicsDriverAPI void MaxSDK::Graphics::Matrix44ToMaxWorldMatrix | ( | Matrix3 & | outMatrix, |
const Matrix44 & | inMatrix | ||
) |
GraphicsDriverAPI const MeshElementDescription& MaxSDK::Graphics::GetBuiltInMeshElementDescription | ( | BuiltInMeshElementDescription | type | ) |
Get a specified built-in mesh element description.
type | the kind of built-in mesh element description |
GraphicsDriverAPI DWORD MaxSDK::Graphics::GetDeviceCompatibleARGBColor | ( | DWORD | color | ) |
Use this function for TargetFormatA8R8G8B8 only.
DX10/11 doesn't support A8R8G8B8 which is only supported in DX9. So when we're using DX10/11 device, we will meet with color shift issue with the A8R8G8B8 format. So for a TargetHandle of TargetFormatA8R8G8B8, you may call this function to get a device compatible color.
color | The original color data. |
GraphicsDriverAPI size_t MaxSDK::Graphics::GetTargetFormatPixelSize | ( | TargetFormat | format | ) |
Get the number of bytes for each pixel by a given target format.
format | The given target format. |
GraphicsDriverAPI VertexBufferHandle MaxSDK::Graphics::GenerateInstanceData | ( | Matrix3 * | worldTransforms, |
size_t | count | ||
) |
Generate the instance data from a Matrix3 array.
worldTransforms | pointer to world transform matrices. Each matrix is a instance of Mesh. |
count | the number of the instances |
GraphicsDriverAPI VertexBufferHandle MaxSDK::Graphics::GenerateInstanceData | ( | Point3 * | UVs, |
Matrix3 * | worldTransforms, | ||
size_t | count | ||
) |
Generate the instance data from a texture coordinates array and a Matrix3 array.
UVs | pointer to texture coordinate array.Each texture coordinate pair is for an instance of Mesh. |
worldTransforms | pointer to world transform matrices. Each matrix is an instance of Mesh. |
count | the number of the instances |
GraphicsDriverAPI bool MaxSDK::Graphics::GenerateInstanceRenderItem | ( | RenderItemHandle & | hInstanceRenderItem, |
const RenderItemHandle & | hTupleMeshHandle, | ||
const VertexBufferHandle & | hInstanceData | ||
) |
Generate the instance render item from a tuple mesh and a Matrix3 array.
hInstanceRenderItem | the instance render item handle which can replace original tuple mesh render item. |
hTupleMeshHandle | handle of a tuple mesh render item |
hInstanceData | handle generated by GenerateInstanceData |
FragmentGraphAPI Class_ID TYPE_ID_Char |
Built-in char input/output type.
This can be used in the constructor of class Input/Output.
FragmentGraphAPI Class_ID TYPE_ID_UnsignedChar |
Built-in unsigned char input/output type.
This can be used in the constructor of class Input/Output.
FragmentGraphAPI Class_ID TYPE_ID_WideChar |
Built-in wchar_t input/output type.
This can be used in the constructor of class Input/Output.
FragmentGraphAPI Class_ID TYPE_ID_Short |
Built-in short input/output type.
This can be used in the constructor of class Input/Output.
FragmentGraphAPI Class_ID TYPE_ID_UnsignedShort |
Built-in unsigned short input/output type.
This can be used in the constructor of class Input/Output.
FragmentGraphAPI Class_ID TYPE_ID_Int |
Built-in int input/output type.
This can be used in the constructor of class Input/Output.
FragmentGraphAPI Class_ID TYPE_ID_UnsignedInt |
Built-in unsigned int input/output type.
This can be used in the constructor of class Input/Output.
FragmentGraphAPI Class_ID TYPE_ID_Long |
Built-in long input/output type.
This can be used in the constructor of class Input/Output.
FragmentGraphAPI Class_ID TYPE_ID_UnsignedLong |
Built-in unsigned long input/output type.
This can be used in the constructor of class Input/Output.
FragmentGraphAPI Class_ID TYPE_ID_Int64 |
Built-in __int64 input/output type.
This can be used in the constructor of class Input/Output.
FragmentGraphAPI Class_ID TYPE_ID_UnsignedInt64 |
Built-in unsigned __int64 input/output type.
This can be used in the constructor of class Input/Output.
FragmentGraphAPI Class_ID TYPE_ID_Float |
Built-in float input/output type.
This can be used in the constructor of class Input/Output.
FragmentGraphAPI Class_ID TYPE_ID_Double |
Built-in double input/output type.
This can be used in the constructor of class Input/Output.
FragmentGraphAPI Class_ID TYPE_ID_StringA |
Built-in multi-byte string input/output type.
This can be used in the constructor of class Input/Output.
FragmentGraphAPI Class_ID TYPE_ID_StringW |
Built-in Unicode string input/output type.
This can be used in the constructor of class Input/Output.
FragmentGraphAPI Class_ID TYPE_ID_Dictionary |
Built-in dictionary input/output type.
This can be used in the constructor of class Input/Output.
Use this value to unregister a timer with a fragment.
GraphicsDriverAPI IndexBufferHandle EmptyIndexBufferHandle |
GraphicsDriverAPI MaxSDK::Array<SmartHandle> EmptySmartHandleArray |
GraphicsDriverAPI TargetHandle EmptyTargetHandle |
const Identifier NIL_ID = (Identifier)-1 |
Invalid id value.
GraphicsDriverAPI VertexBufferHandle EmptyVertexBufferHandle |
GraphicsDriverAPI MaxSDK::Array<VertexBufferHandle> EmptyVertexBufferHandleArray |