Skip to content

Latest commit

 

History

History
35 lines (24 loc) · 1.29 KB

File metadata and controls

35 lines (24 loc) · 1.29 KB

VolumeRaycasting

Transfer Function Only

image

+ Shading

image

Usage

Press 1 -> Transfer Function Only
Press 2 -> Shading Enabled
Esc -> Quit

Mouse Click and Drag -> Rotate View
Mouse Scroll Wheel -> Zoom In/Out

Project Dependencies

  1. opengl
  2. glad
  3. glfw
  4. glm
  5. stb

Using Different Volume Data

  1. Delete the gradients.bin file.

  2. Change the Input File Name

    if (!LoadVolume("male.raw"))

  3. These will be the list of transfer control points that we will setup and interpolate to produce the transfer function.

    You need to specify at least two control points at isovalues 0 and 256 for both alpha and color. Also the control points need to be ordered (low to high) by the isovalue. So the first entry in the list should always be the RGB/alpha value for the zero isovalue, and the last entry should always be the RGB/alpha value for the 256 isovalue.

    VolumeRaycasting/main.cpp

    Lines 154 to 169 in 14263af

    vector<TransferFunctionControlPoint> colorKnots = {
    TransferFunctionControlPoint(.91f, .7f, .61f, 0),
    TransferFunctionControlPoint(.91f, .7f, .61f, 80),
    TransferFunctionControlPoint(1.0f, 1.0f, .85f, 82),
    TransferFunctionControlPoint(1.0f, 1.0f, .85f, 256)
    };
    vector<TransferFunctionControlPoint> alphaKnots = {
    TransferFunctionControlPoint(0.0f, 0),
    TransferFunctionControlPoint(0.0f, 40),
    TransferFunctionControlPoint(0.2f, 60),
    TransferFunctionControlPoint(0.05f, 63),
    TransferFunctionControlPoint(0.0f, 80),
    TransferFunctionControlPoint(0.9f, 82),
    TransferFunctionControlPoint(1.0f, 256)
    };