3ds Max C++ API Reference
GraphicsConstants.h File Reference
#include <WTypes.h>

Macros

#define DISP_VERTTICKS   (1<<0)
 Display vertices as tick marks. More...
 
#define DISP_BEZHANDLES   (1<<1)
 Display Bezier handles. More...
 
#define DISP_OBJSELECTED   (1<<8)
 Mimics COMP_OBJSELECTED in mesh.h. More...
 
#define DISP_SELVERTS   (1<<10)
 Display selected vertices. More...
 
#define DISP_SELFACES   (1<<11)
 Display selected faces. More...
 
#define DISP_SELSEGMENTS   (1<<11)
 Display selected segments. More...
 
#define DISP_SELPATCHES   (1<<11)
 Display selected patches. More...
 
#define DISP_SELEDGES   (1<<12)
 Display selected edges. More...
 
#define DISP_SELPOLYS   (1<<13)
 Display selected polygons. More...
 
#define DISP_SELHANDLES   (1<<14)
 Display selected handles. More...
 
#define DISP_UNSELECTED   (1<<14)
 Used by loft – Shape unselected. More...
 
#define DISP_SELECTED   (1<<15)
 Used by loft – Shape selected. More...
 
#define DISP_LATTICE   (1<<16)
 Display the patch lattice. More...
 
#define DISP_ATSHAPELEVEL   (1<<16)
 Used by loft – Shape at current level. More...
 
#define DISP_VERT_NUMBERS   (1<<17)
 When this bit is set, and vertex ticks are being displayed, the shape is drawn with vertex numbers in addition to the ticks. More...
 
#define DISP_VERTS   (1<<17)
 This is used by the Edit Patch modifier to indicate whether the vertices are displayed or not. More...
 
#define DISP_VERT_NUMBERS_SELONLY   (1<<18)
 When this bit is set and the DISP_VERT_NUMBERS bit is set, only the numbers of selected vertices are displayed. More...
 
#define DISP_SPLINES_ORTHOG   (1<<25)
 Not displayed, but splines to be created orthogonally. More...
 
#define PSHAPE_BUILTIN_STEPS   -2
 Uses the shape's built-in steps/adaptive settings (default) More...
 
#define PSHAPE_ADAPTIVE_STEPS   -1
 Forces adaptive steps
More...
 
#define SHAPE_OBJECT   (1<<0)
 Object level selection. More...
 
#define SHAPE_SPLINE   (1<<1)
 Spline level selection (a single polygon within the shape). More...
 
#define SHAPE_SEGMENT   (1<<2)
 Segment level selection. More...
 
#define SHAPE_VERTEX   (1<<3)
 Vertex level selection. More...
 
#define SUBHIT_SHAPE_SELONLY   (1<<0)
 
#define SUBHIT_SHAPE_UNSELONLY   (1<<2)
 
#define SUBHIT_SHAPE_ABORTONHIT   (1<<3)
 
#define SUBHIT_SHAPE_SELSOLID   (1<<4)
 
#define SUBHIT_SHAPE_VERTS   (1<<24)
 
#define SUBHIT_SHAPE_SEGMENTS   (1<<25)
 
#define SUBHIT_SHAPE_POLYS   (1<<26)
 
#define SUBHIT_SHAPE_TYPEMASK   (SUBHIT_SHAPE_VERTS|SUBHIT_SHAPE_SEGMENTS|SUBHIT_SHAPE_POLYS)
 
#define IPB_STEPS   0
 
#define IPB_OPTIMIZE   1
 
#define IPB_ADAPTIVE   2
 
#define DEF_STEPS   6
 
#define DEF_OPTIMIZE   TRUE
 
#define DEF_ADAPTIVE   FALSE
 
#define DEF_RENDERABLE   FALSE
 
#define DEF_DISPRENDERMESH   FALSE
 
#define DEF_RENDERABLE_THICKNESS   1.0f
 
#define DEF_RENDERABLE_SIDES   12
 
#define DEF_RENDERABLE_ANGLE   0.0f
 
#define DEF_GENUVS   FALSE
 
#define PARAM_SIMPLE   0
 Parameter space based on segments. More...
 
#define PARAM_NORMALIZED   1
 Parameter space normalized to curve length. More...
 
#define GW_DRV_RENDERER   0
 
#define GW_DRV_DEVICE   1
 
#define POINT_RGN   0x0001
 
#define RECT_RGN   0x0002
 
#define CIRCLE_RGN   0x0004
 
#define FENCE_RGN   0x0008
 
#define RGN_DIR_UNDEF   -1
 
#define RGN_DIR_RIGHT   0
 
#define RGN_DIR_LEFT   1
 
#define AC_DIR_RL_CROSS   0
 Right to left implies crossing (AutoCAD compatible) More...
 
#define AC_DIR_LR_CROSS   1
 Left to right implies crossing (AutoCAD incompatible) More...
 
#define WM_SHUTDOWN   (WM_USER+2001)
 
#define WM_INIT_COMPLETE   (WM_USER+2002)
 
#define GW_MAX_FILE_LEN   128
 
#define GW_MAX_CAPTION_LEN   128
 
#define GW_MAX_VERTS   32
 
#define GFX_MAX_STRIP   100
 
#define GFX_MAX_TEXTURES   8
 
#define GW_NO_ATTS   0x0000000
 No attributes are specified. More...
 
#define GW_WIREFRAME   0x0000001
 The wireframe rendering mode. More...
 
#define GW_ILLUM   0x0000002
 This indicates that you have colors per vertex in your polygons and that they must be used. More...
 
#define GW_FLAT   0x0000004
 Flat (facet) shading mode. More...
 
#define GW_SPECULAR   0x0000008
 This enables the specular highlight display. More...
 
#define GW_TEXTURE   0x0000010
 This enables the texture display. More...
 
#define GW_Z_BUFFER   0x0000020
 When coordinates are specified for drawing primitives, they have x, y, and z values. More...
 
#define GW_PERSP_CORRECT   0x0000040
 In this mode, textures are corrected for the perspective display. More...
 
#define GW_POLY_EDGES   0x0000080
 This mode causes polygon edges (Edged Faces) to be on. More...
 
#define GW_BACKCULL   0x0000100
 Backface culling is used. More...
 
#define GW_TWO_SIDED   0x0000200
 Faces are displayed regardless of their surface normal orientation. More...
 
#define GW_COLOR_VERTS   0x0000400
 This turns on color-per-vertex display. More...
 
#define GW_SHADE_CVERTS   0x0000800
 This modifies GW_COLOR_VERTS. More...
 
#define GW_PICK   0x0001000
 This indicates that hit testing will be performed (not rendering). More...
 
#define GW_BOX_MODE   0x0002000
 Objects are shown using their bounding box. More...
 
#define GW_ALL_EDGES   0x0004000
 All edges of the item are shown (including the hidden ones). More...
 
#define GW_VERT_TICKS   0x0008000
 This mode is actually a pseudo-mode. More...
 
#define GW_SHADE_SEL_FACES   0x0010000
 
#define GW_TRANSPARENCY   0x0020000
 Specifies to use Transparency. More...
 
#define GW_TRANSPARENT_PASS   0x0040000
 Specifies a Second pass to perform Blended Transparency. More...
 
#define GW_EMISSIVE_VERTS   0x0080000
 
#define GW_ALL_OPAQUE   0x0100000
 
#define GW_EDGES_ONLY   0x0200000
 
#define GW_CONSTANT   0x0400000
 
#define GW_HIDDENLINE   0x0800000
 Similar to GW_CONSTANT but the shade color will be the color of the background. More...
 
#define GW_BLENDING   0x1000000
 
#define GW_DEPTHWRITE_DISABLE   0x2000000
 Disables writing into the depth buffer. More...
 
#define GW_GAMMA_CORRECT   0x4000000
 Enable gamma correct. More...
 
#define GW_LIGHTING   (GW_ILLUM | GW_SPECULAR)
 This is the same as GW_ILLUM and GW_SPECULAR. More...
 
#define GW_SHAPE_RECT   0
 
#define GW_SHAPE_CIRCULAR   1
 
#define GW_TEX_NO_TILING   0
 
#define GW_TEX_REPEAT   1
 
#define GW_TEX_MIRROR   2
 
#define GW_TEX_LEAVE   0
 Use the source pixel value. More...
 
#define GW_TEX_REPLACE   1
 Use the texture pixel value. More...
 
#define GW_TEX_MODULATE   2
 Multiply the source with the texture. More...
 
#define GW_TEX_ADD   3
 Add the source and texture. More...
 
#define GW_TEX_ADD_SIGNED   4
 Add the source and texture with an 0.5 subtraction. More...
 
#define GW_TEX_SUBTRACT   5
 Subtract the source from the texture. More...
 
#define GW_TEX_ADD_SMOOTH   6
 Add the source and the texture then subtract their product. More...
 
#define GW_TEX_ALPHA_BLEND   7
 Alpha blend the texture with the source. More...
 
#define GW_TEX_PREMULT_ALPHA_BLEND   8
 Alpha blend the the source with a premultiplied alpha texture. More...
 
#define GW_TEX_ALPHA_BLEND2   9
 Alpha blend the the source with a premultiplied alpha texture with GL_MODULATE as the tex env instead of GL_DECAL. More...
 
#define GW_TEX_SCALE_1X   0
 Multiply the tex op result by 1. More...
 
#define GW_TEX_SCALE_2X   1
 Multiply the tex op result by 2. More...
 
#define GW_TEX_SCALE_4X   2
 Multiply the tex op result by 4. More...
 
#define GW_TEX_ZERO   0
 Use no alpha value. More...
 
#define GW_TEX_SOURCE   1
 Use the source alpha. More...
 
#define GW_TEX_TEXTURE   2
 Use the texture alpha. More...
 
#define GW_TEX_CONSTANT   3
 Use a constant BGRA color as an alpha. More...
 
#define GW_TEX_PREVIOUS   4
 Use the previous texture stage alpha. More...
 
#define GW_LEFT_PLANE   0x0100
 
#define GW_RIGHT_PLANE   0x0200
 
#define GW_BOTTOM_PLANE   0x0400
 
#define GW_TOP_PLANE   0x0800
 
#define GW_FRONT_PLANE   0x1000
 
#define GW_BACK_PLANE   0x2000
 
#define GW_PLANE_MASK   0x3f00
 
#define GW_EDGE_SKIP   0
 
#define GW_EDGE_VIS   1
 
#define GW_EDGE_INVIS   2
 
#define BUF_F_BUFFER   0
 
#define BUF_Z_BUFFER   1
 
#define GW_DOES_SUPPORT   TRUE
 
#define GW_DOES_NOT_SUPPORT   FALSE
 
#define GW_SPT_TXT_CORRECT   0
 Allow perspective correction to be toggled? More...
 
#define GW_SPT_GEOM_ACCEL   1
 Do 3D xforms, clipping, lighting thru driver? More...
 
#define GW_SPT_TRI_STRIPS   2
 Send down strips instead of individual triangles? More...
 
#define GW_SPT_DUAL_PLANES   3
 Allow dual planes to be used? More...
 
#define GW_SPT_SWAP_MODEL   4
 Update viewports with complete redraw on WM_PAINT? More...
 
#define GW_SPT_INCR_UPDATE   5
 Redraw only damaged areas on object move? More...
 
#define GW_SPT_1_PASS_DECAL   6
 Do decaling with only one pass? More...
 
#define GW_SPT_DRIVER_CONFIG   7
 Allow driver config dialog box? More...
 
#define GW_SPT_TEXTURED_BKG   8
 Is viewport background a texture? More...
 
#define GW_SPT_VIRTUAL_VPTS   9
 Are viewports bigger than the window allowed? More...
 
#define GW_SPT_PAINT_DOES_BLIT   10
 Does WM_PAINT cause a backbuffer blit? More...
 
#define GW_SPT_WIREFRAME_STRIPS   11
 Are wireframe objects are sent as tristrips? More...
 
#define GW_SPT_ORG_UPPER_LEFT   12
 Is the device origin at upper left? More...
 
#define GW_SPT_ARRAY_PROCESSING   13
 Can the drive handle vertex array data? More...
 
#define GW_SPT_NUM_LIGHTS   14
 Number of lights supported? More...
 
#define GW_SPT_NUM_TEXTURES   15
 Number of multitexture stages supported? More...
 
#define GW_SPT_WIRE_FACES   16
 Support for wireframe faces with visibility flags? More...
 
#define GW_SPT_TOTAL   17
 The maximum number of support queries. More...
 
#define GW_DISPLAY_MAXIMIZED   1
 
#define GW_DISPLAY_WINDOWED   2
 
#define GW_DISPLAY_INVISIBLE   3
 
#define GW_PASS_ONE   0
 
#define GW_PASS_TWO   1
 
#define GW_ATTEN_NONE   0x0000
 
#define GW_ATTEN_START   0x0001
 
#define GW_ATTEN_END   0x0002
 
#define GW_ATTEN_LINEAR   0x0010
 
#define GW_ATTEN_QUAD   0x0020
 
#define SYSTEM_LOCK_RETURN   0x001
 
#define SYSTEM_REMOTE_RETURN   0x002
 

Variables

const double pi = 3.141592653589793
 The constant PI defined as a double. More...
 
const double piOver180 = 3.141592653589793 / 180.0
 The constant value of PI divided by 180.0 defined as a double. More...
 

Macro Definition Documentation

◆ SUBHIT_SHAPE_SELONLY

#define SUBHIT_SHAPE_SELONLY   (1<<0)

◆ SUBHIT_SHAPE_UNSELONLY

#define SUBHIT_SHAPE_UNSELONLY   (1<<2)

◆ SUBHIT_SHAPE_ABORTONHIT

#define SUBHIT_SHAPE_ABORTONHIT   (1<<3)

◆ SUBHIT_SHAPE_SELSOLID

#define SUBHIT_SHAPE_SELSOLID   (1<<4)

◆ SUBHIT_SHAPE_VERTS

#define SUBHIT_SHAPE_VERTS   (1<<24)

◆ SUBHIT_SHAPE_SEGMENTS

#define SUBHIT_SHAPE_SEGMENTS   (1<<25)

◆ SUBHIT_SHAPE_POLYS

#define SUBHIT_SHAPE_POLYS   (1<<26)

◆ SUBHIT_SHAPE_TYPEMASK

#define SUBHIT_SHAPE_TYPEMASK   (SUBHIT_SHAPE_VERTS|SUBHIT_SHAPE_SEGMENTS|SUBHIT_SHAPE_POLYS)