View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0013549 | VTK | (No Category) | public | 2012-10-23 12:04 | 2015-08-18 09:30 | ||||
Reporter | Jose M. | ||||||||
Assigned To | T.J. Corona | ||||||||
Priority | normal | Severity | minor | Reproducibility | have not tried | ||||
Status | closed | Resolution | won't fix | ||||||
Platform | OS | OS Version | |||||||
Product Version | 5.8.0 | ||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0013549: vtkSmartVolumeMapper does not change color function in GPU mode | ||||||||
Description | This issue is for VTK 5.10.0 Changing the vtkColorTransferFunction of a vtkSmartVolumeMapper object will have no effect after the first render, if render mode is GPU-based (which is the default) I have attached a case test, where one vtkSmartVolumeMapper and two diferent color transfer functions are defined. There are 4 lines of code of interest, marked as TESTLINE1 .. TESTLINE4 // Render composite. In default mode. For coverage. //TESTLINE1 renWin->Render(); //Change color function to green //TESTLINE2 volumeProperty->SetColor(color2); //Change render to software mode //TESTLINE3 volumeMapper->SetRequestedRenderModeToRayCast(); renWin->Render(); //Change render to default (GPU) mode //TESTLINE4 volumeMapper->SetRequestedRenderModeToDefault(); renWin->Render(); This example define a color transfer function in red values. The TESTLINE2 changes it to another color in green values. The expected result should be to see a sphere with green color, but the original red color is used. Disabling TESTLINE1, so initial GPU render is avoided, will produce the correct behavior. Disabling TESTLINE4 (so CPU raycast is used) will also produce correct behavior, even if TESTLINE1 is enabled. So it seems that GPU based renderer is not changing the color transfer function after the first call to render(). Doing a explicit call to volume->UpdateTransferFunctions(ren1) does not help to solve the problem. | ||||||||
Tags | No tags attached. | ||||||||
Project | TBD | ||||||||
Type | incorrect functionality | ||||||||
Attached Files | SmartVolumeMapper.cxx [^] (4,886 bytes) 2012-10-23 12:04 | ||||||||
Relationships | |
Relationships |
Notes | |
(0029491) Jose M. (reporter) 2012-10-23 13:16 |
I have found a workaround to this problem, by removing the volume from the renderer and then adding it again. In the case test I attached previously, you can do it by adding the lines ren1->RemoveViewProp(volume); ren1->AddViewProp(volume); after the color exchange done in TESTLINE2 |
(0035011) T.J. Corona (developer) 2015-08-18 09:30 |
If this is still an issue in VTK6, please consider reopening this ticket. |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2012-10-23 12:04 | Jose M. | New Issue | |
2012-10-23 12:04 | Jose M. | File Added: SmartVolumeMapper.cxx | |
2012-10-23 13:16 | Jose M. | Note Added: 0029491 | |
2015-08-18 09:30 | T.J. Corona | Note Added: 0035011 | |
2015-08-18 09:30 | T.J. Corona | Status | backlog => closed |
2015-08-18 09:30 | T.J. Corona | Assigned To | => T.J. Corona |
2015-08-18 09:30 | T.J. Corona | Resolution | open => won't fix |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |