Class ShearWarpColorLighting
java.lang.Object
gov.nih.mipav.view.renderer.J3D.volumeview.Renderer
gov.nih.mipav.view.renderer.J3D.volumeview.ShearWarpRenderer
gov.nih.mipav.view.renderer.J3D.volumeview.ShearWarpColor
gov.nih.mipav.view.renderer.J3D.volumeview.ShearWarpColorLighting
- All Implemented Interfaces:
RendererInterfaceColor
A renderer for RGBA+lighting volume data. See the document ShearWarpRendering.pdf for a detailed description of the
renderer architecture.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanThe actual order of compositing - true if front-to-back.protected intthe current permutation of the voxel indices (0, 1, or 2).protected SoftwareVertexPropertyDOCUMENT ME!Fields inherited from class gov.nih.mipav.view.renderer.J3D.volumeview.ShearWarpColor
m_acImageA, m_acImageB, m_acImageG, m_acImageR, m_afInterB, m_afInterG, m_afInterR, m_kMap, m_kNormalizeB, m_kNormalizeG, m_kNormalizeRFields inherited from class gov.nih.mipav.view.renderer.J3D.volumeview.ShearWarpRenderer
m_aaaasEncode, m_aaasVolumeEncode, m_aafBox, m_aafM, m_aaiIndex, m_aasSliceEncode, m_afA, m_afB, m_afOffset, m_afShear, m_aiBound, m_aiClipMax, m_aiClipMin, m_aiCurrentI, m_aiInterC, m_aiSliceBound, m_aiSliceMax, m_aiSliceMin, m_asSkip, m_bDoEncodeSkip, m_fInv255, m_iI0, m_iInterBound, m_iInterBoundM1, m_iInterIndex, m_iInterOffset, m_iInterQuantity, m_iPixel, m_iQuantity, m_iSIndex, m_iSlice, m_iSliceQuantity, m_kP00, m_kP01, m_kP10, m_kP11, m_kPositionFields inherited from class gov.nih.mipav.view.renderer.J3D.volumeview.Renderer
m_aiRImage, m_akAxis, m_akNormal, m_bParallel, m_bReloadInput, m_fAngle, m_fExtreme, m_fFMult, m_fGamma, m_fNear, m_fRScaleX, m_fRScaleY, m_fXTrn, m_fYTrn, m_fZoom, m_iMaxBound, m_iMinBound, m_iRBound, m_iXBound, m_iXBoundM1, m_iXBoundM2, m_iXYProduct, m_iXYZProduct, m_iYBound, m_iYBoundM1, m_iYBoundM2, m_iZBound, m_iZBoundM1, m_iZBoundM2, m_kBackgroundColor, m_kEyeModel, m_kEyeWorld, m_kImage, m_kLightSet, m_kMaterial, m_kRotate -
Constructor Summary
ConstructorsConstructorDescriptionShearWarpColorLighting(ModelImage kImage, int iFinalBound, int[] aiFinal) Create an RGBA+lighting color renderer. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidbeforeResampleAll(int k0, int k1, int k2) This is a callback to be executed before resampleAll is executed.voidDeallocate memory.protected voidfinalize()Calls dispose.protected voidresampleAll(int iDS) Resample all the slices for the current permuted volume data.protected voidResample a single slice of the permuted volume data.protected voidCalled at the beginning of the trace methods.booleanReturn indication as to whether or not the particular renderer uses normal vectors as part of its implementation.Methods inherited from class gov.nih.mipav.view.renderer.J3D.volumeview.ShearWarpColor
hasInputData, hasInputMap, mapIntermediateToFinal, setInput, setInputMapMethods inherited from class gov.nih.mipav.view.renderer.J3D.volumeview.ShearWarpRenderer
beforeResampleSingle, composite, computeEncode, computePositions, fromFloat, fromInt, getAxis, getAxis, initializeEncodeSkip, rotateBy, rotateFrameBy, setAxis, setParallel, setXBoundNeg, setXBoundPos, setYBoundNeg, setYBoundPos, setZBoundNeg, setZBoundPos, skipToNonopaque, toFloat, toInt, updateSkipMethods inherited from class gov.nih.mipav.view.renderer.J3D.volumeview.Renderer
computeIntegralNormalizationFactor, convertWorldToModel, getAngle, getBackgroundColor, getExtreme, getEyeDist, getEyePoint, getGamma, getMaxBound, getMinBound, getNear, getParallel, getXBound, getXTranslate, getYBound, getYTranslate, getZBound, getZoom, hasNormals, orthonormalize, reloadInputData, reloadInputData, setAngle, setBackgroundColor, setExtreme, setEyeDist, setGamma, setLighting, setMaterialShininess, setNear, setNearAndAngle, setNormals, setXTranslate, setYTranslate, setZoom
-
Field Details
-
m_bCompositeForward
protected boolean m_bCompositeForwardThe actual order of compositing - true if front-to-back. -
m_iPermute
protected int m_iPermutethe current permutation of the voxel indices (0, 1, or 2). -
m_kVertexProperty
DOCUMENT ME!
-
-
Constructor Details
-
ShearWarpColorLighting
Create an RGBA+lighting color renderer. The input color channel type is 'byte', a signed 8-bit quantity, but the data represents unsigned 8-bit values.- Parameters:
kImage- the 3D imageiFinalBound- the dimension of the square 2D renderer imageaiFinal- The 2D rendered image. The image is 24-bit RGB color, each pixel stored as a 32-bit integer. The 8 most significant bits are ignored. The blue channel is stored in the 8 least significant bits. The green channel is in the next 8 bits adjacent to the blue bits. The red channel is in the next 8 bits adjacent to the green channel.
-
-
Method Details
-
disposeLocal
public void disposeLocal()Deallocate memory.- Overrides:
disposeLocalin classShearWarpColor
-
usesNormals
public boolean usesNormals()Return indication as to whether or not the particular renderer uses normal vectors as part of its implementation.- Specified by:
usesNormalsin classRenderer- Returns:
- boolean True if the implementation uses normals.
-
beforeResampleAll
protected void beforeResampleAll(int k0, int k1, int k2) This is a callback to be executed before resampleAll is executed. The base class initializes various primitive quantities. This class sets the current eye position to always be in front of the box along the current renderer view direction. This function also saves the current permutation for use in computing voxel positions for dynamic lighting.- Overrides:
beforeResampleAllin classShearWarpRenderer- Parameters:
k0- a permutation, one of (0,1,2), (1,2,0), (2,0,1)k1- DOCUMENT ME!k2- DOCUMENT ME!
-
finalize
Calls dispose.- Overrides:
finalizein classShearWarpColor- Throws:
Throwable- DOCUMENT ME!
-
resampleAll
protected void resampleAll(int iDS) Resample all the slices for the current permuted volume data.- Overrides:
resampleAllin classShearWarpColor- Parameters:
iDS- The number of slices to increment during the resampling phase. The value should be one or larger. If one, all slices of the volume data are resampled. If two, only every other slice is resampled. An input larger than one is used to allow fast rendering during rotation of the volume data. Once the rotation terminates, a composite with input of one should be called.
-
resampleSingle
protected void resampleSingle()Resample a single slice of the permuted volume data.- Overrides:
resampleSinglein classShearWarpRenderer
-
traceInit
protected void traceInit()Called at the beginning of the trace methods.
-