Getting data from a render texture
Hello,
I want to get the data from a depth texture. I use the following command to create the texture: Code:
depthtex = viz.addRenderTexture(format = viz.TEX_DEPTH, width = 8, height = 8) Greetings, Joran. |
There is currently no built-in way to retrieve the data from a render texture. You could create a modifier plugin that attaches a post draw callback to the underlying osg::CameraNode object. From the callback you should be able to read the pixels from the texture into memory.
Do you need the data for real-time purposes (i.e. every frame)? If not, you can workaround the problem by rendering the depth texture to the screen and then capturing the screen to a file. |
It is for real time processing. Is there any chance this functionality will be added in the future to Vizard?
Otherwise I will have to make that plugin. I am not looking forward to that. |
I am revisiting this 'problem'. The version using a plugin did work (I need to recompile the plugin again). But now I saw the
Code:
depthtex = viz.addRenderTexture(format = viz.TEX_DEPTH, width = 8, height = 8) Code:
depthtex.saveToBuffer(' But this buffer then contains an 8 bit z-buffer. When I change my texture format to viz.TEX_DEPTH_32, I get the error message: Code:
error pixelFormat = 81a7 Greetings, Joran. |
All times are GMT -7. The time now is 11:30 PM. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Copyright 2002-2023 WorldViz LLC