|  | 
|  | 
| 
			 
			#1  
			
			
			
			
			
		 | |||
| 
 | |||
| 
				
				Saving renderTexture
			 
			
			Hello, I am trying to save the content of a renderTexture to a file. I basically use code from the examples as listed further down my post. Everytime I call renderTexture.save("test") i get an error message that tells me that there is no data in the image. Code: * ERROR: Texture does not contain image data, cannot save to file 'test' I also put the texture on a quad to see if there is actually something going wrong, but the desired render is diplayed fine on the quad. Here is my code: Code:   
                # Create render texture for sending screenshots
                self.renderTexture = viz.addRenderTexture()
                
                # Create render node as camera
                self.renderNode = viz.addRenderNode(size=(800,600))
                
                # Do not inherit view/projection settings from main window
                #self.renderNode.setInheritView(False)
                
                # Set FOV for renderTexture camera
                self.renderNode.setFov(self.FOV,800/600.0,0.1,1000.0)
                
                # Render to renderTexture feed texture
                self.renderNode.attachTexture(self.renderTexture)
                #NOTE: I also tried renderNode.setTexture here, but that didn't work either
                # Only render once per frame, in case stereo is enabled
                self.renderNode.setRenderLimit(viz.RENDER_LIMIT_FRAME)
                
                #add a texture quad
                quad = viz.addTexQuad()
                #add the rendertexture to the texturequad
                quad.texture( self.renderTexture )
                #position the texture quad
                quad.setPosition(0,1,0)
                #NOTE: The texture renders fine on the quad
                self.renderTexture.save("test")
                #This call fails with above error | 
| 
			 
			#2  
			
			
			
			
			
		 | |||
| 
 | |||
| 
			
			Are you waiting a frame to allow the render node to actually render to the texture? Also, you are not saving the texture to a valid image format. Make sure to add a valid extension to the filename (e.g. test.png, test.jpg, ...).
		 | 
| 
			 
			#3  
			
			
			
			
			
		 | |||
| 
 | |||
| 
			
			I scheduled the whole process as a task and used yield waitFrame(1) to make sure that the node has had time to render at least once. Works well now. Thanks a lot! | 
|  | 
| Thread Tools | |
| Display Modes | Rate This Thread | 
| 
 | 
 | 
|  Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post | 
| Saving as a WRL | Andrey | Vizard | 6 | 05-15-2008 10:03 AM | 
| saving the scene | giancamati | Vizard | 1 | 12-21-2006 09:25 AM | 
| saving the position | poolshark | Vizard | 3 | 09-26-2003 01:57 PM |