Problems with 3D textures

   3007   2   1
User Avatar
Member
581 posts
Joined: July 2005
Offline
Hi all.
I have suffering a problem with 3D Textures that hadn't happened in previous versions.
When i render an atmosphere with the standar shaders for 3D textures i get this image:

This is the same image in tiff format with alpha:
http://personales.ya.com/lisux/3dTextureColor.tif [personales.ya.com]
The alpha is right, i am not using adaptative step, the resolution is 128 for all the axes, and the step size 0.05.
I am trying to access to the density information from a shader too. Using the 3DTexture VOP i get always zero values.
Here is the 3D Texture:
http://personales.ya.com/lisux/sprites.0748.i3d [personales.ya.com]

Why this results?
I am using Houdini 8.0.499 with Ubuntu 5.10
Un saludo
Best Regards

Pablo Giménez
User Avatar
Staff
2590 posts
Joined: July 2005
Offline
lisux
Hi all.
I have suffering a problem with 3D Textures that hadn't happened in previous versions. When i render an atmosphere with the standar shaders for 3D textures i get this image:
http://personales.ya.com/lisux/sprites.0748.i3d [personales.ya.com]

Why this results?
I am using Houdini 8.0.499 with Ubuntu 5.10

I'm not sure why you're getting those results. When I run the i3d file through this VEX COP, things look pretty much like I'd expect.


/*%vcc -l copview3d.otl %
*/
#define VOP_OP
#define VOP_COP2

#pragma opname cop2gen1
#pragma oplabel “VEX View I3D File”
#pragma opmininputs 0
#pragma opmaxinputs 0
#pragma label zval “Z Value”
#pragma range zval 0 1
#pragma label trans Translate
#pragma label rot Rotate
#pragma label scale Scale

#include <voptype.h>
#include <voplib.h>

cop2
copview3d(string map=“/tmp/sprites.0748.i3d”;
float zval = 0;
vector trans = { 0, 0, 0 };
vector rot = { 0, 0, 0 };
vector scale = { 1, 1, 1 };
vector pivot = {0,0,0})
{
int bound_zval;
int bound_trans;
int bound_rot;
int bound_scale;
vector vec;
vector xformpos;
float i3dval;

bound_zval = isbound(“zval”);
vec = vop_floattovec(X, Y, zval);
bound_trans = isbound(“trans”);
bound_rot = isbound(“rot”);
bound_scale = isbound(“scale”);
xformpos = vec * invert(maketransform(0,0,trans,rot,scale,pivot));
i3dval = texture3d(“/tmp/sprites.0748.i3d”, “density”, xformpos,
“filter”, “box”, “width”, 1);
R = i3dval;
}


To test this

% vcc -l /tmp/copview3d.otl copview3d.vfl
% houdini /tmp/copview3d.otl


Add a “VEX View I3D File” and see what you get.
User Avatar
Member
581 posts
Joined: July 2005
Offline
Thans Mark.
Yes the 3d texture is correct.
I don't know exactly why but creating a new mantra ROP and rerender all goes right.
Maybe some wrong setting.
Very useful your example, with some retouching one can “fake” volumetrics in post, that's great!
Un saludo
Best Regards

Pablo Giménez
  • Quick Links