LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

3d picture direct texture access

Is there any way to get access to the texture buffer for a 3d Picture texture directly without having to first create an "image" copy and then re-apply?

 

Being able to manupulate the arrays "in place" would possibly give a huge boost to performance.  As it stands, attempty to step-wise replace one texture with another (during a 2D scan for example) are rather bogged down by the hugely increased time to render as soon as a change is made on the texture.  Not to mention copying data (with textures up to 1024x1024 in 32 bit, this is no joke!)

 

The most time seems to be spent on the "set texture" method.  If we could bypass this (and assuming we know what we're doing) then perhaps a few new texture methods (Modify Image Array with an offset plus a new data array) would be of help.  Admittedly hardly anyone used the 3D picture but I love it and am running into occasional roadblocks which prevent me from fully unlocking it's inherent potential.

 

Shane.

0 Kudos
Message 1 of 5
(2,646 Views)

Hi Intaris,

 

just to be sure I got it right: At the moment you use the way provided here:

 

Applying a Texture to a 3D Object

http://zone.ni.com/reference/en-XX/help/371361H-01/lvhowto/3d_apply_texture/

 

You wish to have the 3D picture without using the texture methode node? At the moment I do not see another possibility.

 

Kind Regards,

Vanessa

0 Kudos
Message 2 of 5
(2,622 Views)

I use this method (It's the only one).

 

When you already have the texture refnum, you need to use a property node to read the "image" data, modify the arrays and then write it back using another property node.  If we could have a method for "Update texture subarray" we could pass ONLY the changed values and have the texture object update itself, thus resulting in much less data copying.  When dealing with 1024x1024x32 bit images (4MB per Texture) this really adds up even if I only want to change a coupld of pixels.....

 

Shane.

0 Kudos
Message 3 of 5
(2,615 Views)

Hi Intaris,

 

thank you for your further explanation. I am sorry at the moment I do not see another way.

 

If you like to you can provide your idea on the LabVIEW Idea Exchange forum. These post are really taken into account for further versions.

 

http://forums.ni.com/t5/ideas/v2/ideaexchangepage/blog-id/labviewideas

 

Kind Regards,

Vanessa

0 Kudos
Message 4 of 5
(2,584 Views)
There is an opengl function to update a subarray of a texture. This seems to be what I need. Ill post an idea.
0 Kudos
Message 5 of 5
(2,535 Views)