3ds Max C++ API Reference
Loading...
Searching...
No Matches
ViewportVolumeDisplay.h File Reference
#include "GraphicsExport.h"
#include "UpdateDisplayContext.h"
#include "UpdateNodeContext.h"
#include "TextureHandle.h"
#include "../SharedMesh.h"
#include "../geom/Matrix3.h"
#include "../geom/Box3.h"
#include "../geom/AColor.h"

Classes

struct  GridParams
 GridParams is where you define the parameters of the volume grid, independently from the display. More...
 
struct  GridGPUParams
 This structure contains the GPU data of the volume that lives as the DisplayParams::mGridGPUParams member so we don't recompute all of this each frame. More...
 
struct  DisplayParams
 The parameters set for the display of the volume grid in the viewport. More...
 

Namespaces

namespace  MaxSDK
 
namespace  MaxSDK::Graphics
 
namespace  MaxSDK::Graphics::ViewportVolumeDisplay
 Volume Display functions for 3ds Max's viewport This is a set of functions for an Object plug-in to support a volume display in the viewport Link with MaxGraphics.lib when using this header.
 

Enumerations

enum class  DisplayType {
  BoundingBox , Voxels , Volume , Wireframe ,
  Iterations , Gradient , Octree , LastValue = Octree
}
 The type of display for the volume. More...
 
enum class  GridType { Float16 , Float32 , LastValue = Float32 }
 The type of grid for this volume, there is one grid displayed per volume. More...
 
enum class  GridColorType {
  Color , GradientMap , BlackBody , TurboRainbow ,
  LastValue = TurboRainbow
}
 The type of algorithm used to set color on the volume grid. More...
 
enum class  NormalizationType { None , Automatic , ManualRange , LastValue = ManualRange }
 We can normalize the volume grid data when providing a Float16 or Float32 grid. More...
 
enum class  SliceAxis {
  Off , X , Y , Z ,
  LastValue = Z
}
 Slice axis is used to display only a part of the volume, a slice of it on a given axis at a given position and thickness. More...
 

Functions

MaxGraphicsObjectAPI bool ComputeGridGPUParams (const GridParams &inGridParams, GridGPUParams &outGridGPUParams)
 This function is used to compute the GridGPUParams (GPU compliant data) information from the GridParams used by the display parameters, the output GridGPUParams is the DisplayParams::mGridGPUParams member of an instance of the DisplayParams structure stored locally in your plug-in so we don't recompute this data each frame.
 
MaxGraphicsObjectAPI bool UpdatePerNodeItems (const MaxSDK::Graphics::UpdateDisplayContext &updateDisplayContext, MaxSDK::Graphics::UpdateNodeContext &nodeContext, MaxSDK::Graphics::IRenderItemContainer &targetRenderItemContainer, const DisplayParams &volumeDisplayParams)
 This function is used to let the volume API do everything for you to display the volume correctly from your plug-in method IObjectDisplay2::UpdatePerNodeItems.
 
MaxGraphicsObjectAPI int HitTest (TimeValue t, INode *inode, int type, int crossing, int flags, IPoint2 *p, ViewExp *vpt, const DisplayParams &volumeDisplayParams)
 This function is used to let the volume API do the hit testing of the volume when the user wants to select a volume in a viewport.