3ds Max C++ API Reference
Loading...
Searching...
No Matches
TriStrip Class Reference

#include <C:/adskgit/3dsmax/3dsmax/3dswin/src/maxsdk/include/ihardwareshader.h>

Inheritance diagram for TriStrip:

Public Member Functions

void AddVertN (DWORD vtx, DWORD nor)
void AddVertNC1 (DWORD vtx, DWORD nor, DWORD col)
void AddVertNT1 (DWORD vtx, DWORD nor, DWORD tvtx)
void AddVertNC1T1 (DWORD vtx, DWORD nor, DWORD col, DWORD tvtx)
void AddVertNT2 (DWORD vtx, DWORD nor, DWORD tvtx1, DWORD tvtx2)
void AddVertNC1T2 (DWORD vtx, DWORD nor, DWORD col, DWORD tvtx1, DWORD tvtx2)
void AddVertNT3 (DWORD vtx, DWORD nor, DWORD tvtx1, DWORD tvtx2, DWORD tvtx3)
void AddVertNC1T3 (DWORD vtx, DWORD nor, DWORD col, DWORD tvtx1, DWORD tvtx2, DWORD tvtx3)
void AddVertNT4 (DWORD vtx, DWORD nor, DWORD tvtx1, DWORD tvtx2, DWORD tvtx3, DWORD tvtx4)
void AddVertNC1T4 (DWORD vtx, DWORD nor, DWORD col, DWORD tvtx1, DWORD tvtx2, DWORD tvtx3, DWORD tvtx4)
void AddVertexCol (int i, DWORD col)
void AddVertexUV (int i, DWORD tx)

Public Attributes

DWORD rndMode
MtlID mID
MtlID maxID
DWORD smGrp
int clrMode
int texMode
DWTab v
DWTab n
DWTab c [GFX_MAX_COLORS]
DWTab tv [GFX_MAX_TEXTURES]

Additional Inherited Members

Static Public Member Functions inherited from MaxHeapOperators
static UtilExport voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown.
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e)
 Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned.
static UtilExport voidoperator new (size_t size, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown.
static UtilExport voidoperator new (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown.
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned.
static UtilExport voidoperator new (size_t size, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown.
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned.
static UtilExport voidoperator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown.
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned.
static UtilExport voidoperator new[] (size_t size, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown.
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects.
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned.
static UtilExport voidoperator new[] (size_t size, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown.
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned.
static UtilExport void operator delete (void *ptr)
 Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown.
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen.
static UtilExport void operator delete (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.
static UtilExport void operator delete (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen.
static UtilExport void operator delete (void *ptr, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown.
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen.
static UtilExport void operator delete[] (void *ptr)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown.
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen.
static UtilExport void operator delete[] (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.
static UtilExport void operator delete[] (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen.
static UtilExport void operator delete[] (void *ptr, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown.
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown.
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator.
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator.
static UtilExport voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary.
static UtilExport voidaligned_realloc (void *ptr, size_t size, size_t alignment)
 Reallocates memory on a specified alignment boundary.
static UtilExport void aligned_free (void *ptr)
 Frees a block of memory that was allocated with aligned_malloc/aligned_realloc.

Member Function Documentation

◆ AddVertN()

void AddVertN ( DWORD vtx,
DWORD nor )
inline
58{ v.Append(1, &vtx, (v.Count()>>1)); n.Append(1, &nor, n.Count()/2); }
DWTab v
Definition ihardwareshader.h:53
DWTab n
Definition ihardwareshader.h:54

◆ AddVertNC1()

void AddVertNC1 ( DWORD vtx,
DWORD nor,
DWORD col )
inline
59{ v.Append(1, &vtx, (v.Count()>>1)); n.Append(1, &nor, n.Count()/2); c[0].Append(1, &col, c[0].Count()/2); }
DWTab c[GFX_MAX_COLORS]
Definition ihardwareshader.h:55

◆ AddVertNT1()

void AddVertNT1 ( DWORD vtx,
DWORD nor,
DWORD tvtx )
inline
61 {
62 int alloc = (v.Count()>>1)+1;
63 v.Append(1, &vtx, alloc); n.Append(1, &nor, alloc);
64 tv[0].Append(1, &tvtx, alloc);
65 }
DWTab tv[GFX_MAX_TEXTURES]
Definition ihardwareshader.h:56

◆ AddVertNC1T1()

void AddVertNC1T1 ( DWORD vtx,
DWORD nor,
DWORD col,
DWORD tvtx )
inline
66 {
67 int alloc = (v.Count()>>1)+1;
68 v.Append(1, &vtx, alloc); n.Append(1, &nor, alloc); c[0].Append(1, &col, alloc);
69 tv[0].Append(1, &tvtx, alloc);
70 }

◆ AddVertNT2()

void AddVertNT2 ( DWORD vtx,
DWORD nor,
DWORD tvtx1,
DWORD tvtx2 )
inline
71 {
72 int alloc = (v.Count()>>1)+1;
73 v.Append(1, &vtx, alloc); n.Append(1, &nor, alloc);
74 tv[0].Append(1, &tvtx1, alloc); tv[1].Append(1, &tvtx2, alloc);
75 }

◆ AddVertNC1T2()

void AddVertNC1T2 ( DWORD vtx,
DWORD nor,
DWORD col,
DWORD tvtx1,
DWORD tvtx2 )
inline
76 {
77 int alloc = (v.Count()>>1)+1;
78 v.Append(1, &vtx, alloc); n.Append(1, &nor, alloc); c[0].Append(1, &col, alloc);
79 tv[0].Append(1, &tvtx1, alloc); tv[1].Append(1, &tvtx2, alloc);
80 }

◆ AddVertNT3()

void AddVertNT3 ( DWORD vtx,
DWORD nor,
DWORD tvtx1,
DWORD tvtx2,
DWORD tvtx3 )
inline
81 {
82 int alloc = (v.Count()>>1)+1;
83 v.Append(1, &vtx, alloc); n.Append(1, &nor, alloc);
84 tv[0].Append(1, &tvtx1, alloc); tv[1].Append(1, &tvtx2, alloc); tv[2].Append(1, &tvtx3, alloc);
85 }

◆ AddVertNC1T3()

void AddVertNC1T3 ( DWORD vtx,
DWORD nor,
DWORD col,
DWORD tvtx1,
DWORD tvtx2,
DWORD tvtx3 )
inline
86 {
87 int alloc = (v.Count()>>1)+1;
88 v.Append(1, &vtx, alloc); n.Append(1, &nor, alloc); c[0].Append(1, &col, alloc);
89 tv[0].Append(1, &tvtx1, alloc); tv[1].Append(1, &tvtx2, alloc); tv[2].Append(1, &tvtx3, alloc);
90 }

◆ AddVertNT4()

void AddVertNT4 ( DWORD vtx,
DWORD nor,
DWORD tvtx1,
DWORD tvtx2,
DWORD tvtx3,
DWORD tvtx4 )
inline
91 {
92 int alloc = (v.Count()>>1)+1;
93 v.Append(1, &vtx, alloc); n.Append(1, &nor, alloc);
94 tv[0].Append(1, &tvtx1, alloc); tv[1].Append(1, &tvtx2, alloc);
95 tv[2].Append(1, &tvtx3, alloc); tv[3].Append(1, &tvtx4, alloc);
96 }

◆ AddVertNC1T4()

void AddVertNC1T4 ( DWORD vtx,
DWORD nor,
DWORD col,
DWORD tvtx1,
DWORD tvtx2,
DWORD tvtx3,
DWORD tvtx4 )
inline
97 {
98 int alloc = (v.Count()>>1)+1;
99 v.Append(1, &vtx, alloc); n.Append(1, &nor, alloc); c[0].Append(1, &col, alloc);
100 tv[0].Append(1, &tvtx1, alloc); tv[1].Append(1, &tvtx2, alloc);
101 tv[2].Append(1, &tvtx3, alloc); tv[3].Append(1, &tvtx4, alloc);
102 }

◆ AddVertexCol()

void AddVertexCol ( int i,
DWORD col )
inline
Remarks
This method adds vertex color data to a vertex. This method is usually used together with AddVertN and AddVertexUV methods to set each vertex's data flexibly.
Parameters
iThe color channel index must be less than GFX_MAX_COLORS.\
colThe vertex color data.
110 {
111 DbgAssert(i >= 0 && i < GFX_MAX_COLORS);
112 c[i].Append(1, &col, (v.Count()>>1)+1);
113 }
#define DbgAssert(expr)
Definition assert1.h:83
#define GFX_MAX_COLORS
Definition ihardwareshader.h:33

◆ AddVertexUV()

void AddVertexUV ( int i,
DWORD tx )
inline
Remarks
This method adds a set of 2d texture coordinate to a vertex. This method is usually used together with AddVertN and AddVertexCol methods to set each vertex's data flexibly.
Parameters
iThe texture coordinate index must be less than GFX_MAX_TEXTURES.\
txThe texture coordinate data.
121 {
122 DbgAssert(i >= 0 && i < GFX_MAX_TEXTURES);
123 tv[i].Append(1, &tx, (v.Count()>>1)+1);
124 }
#define GFX_MAX_TEXTURES
Definition GraphicsConstants.h:174

Member Data Documentation

◆ rndMode

DWORD rndMode

◆ mID

MtlID mID

◆ maxID

MtlID maxID

◆ smGrp

DWORD smGrp

◆ clrMode

int clrMode

◆ texMode

int texMode

◆ v

DWTab v

◆ n

DWTab n

◆ c

◆ tv