MIP mapping?

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 07/03/2006 at 05:32, xxxxxxxx wrote:

User Information:
Cinema 4D Version:   9.5 
Platform:   Windows  ;   
Language(s) :     C++  ;

---------
Hi,

I am using GetSurfaceData to extract the surface color, but it doesn´t seem to calculate MIP filtering (although the manual does state that only TraceGeometry doesn´t calculate MIP mapping).

What is required to let GetSurfaceData calculate MIP filtering?

Thanks iA
Katachi

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 09/03/2006 at 15:36, xxxxxxxx wrote:

I assume you passed additional vectors for MIP-mapping in Ray::pp? If so, and no MIP-mapping was calculated, it could be that GetSurfaceData() does not calculate MIP-mapping.
I can't find the reference to TraceGeometry()/MIP in the manual. Where did you find it? (I should correct it if it's wrong.)

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 10/03/2006 at 06:44, xxxxxxxx wrote:

Hi Mikael,

yes, I have passed them. The reference to TG/MIP in the manual is in the description of the routine VolumeData::GetRay().

It says that for TraceGeometry those vectors don´t need to be filled in as it´s the only routine NOT calculating MIP.

Here is the according text:

> Quote: void GetRay(Real x, Real y, Ray* ray)
>
> * * *
>
> Generate the view ray for a position.
>
> This function does not set pp[0..2], vv[0..2], transport and ior. Those have to be filled in if used subsequently by TraceColor(), TraceColorDirect() or GetSurfaceData(). It's not necessary for TraceGeometry() though (as there are no MIP mapping calculations).
>
> * * *

Seems plausible. Hope it´s my fault. 🙂
Thanks in advance for letting me know!

Best
Katachi

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 16/03/2006 at 07:14, xxxxxxxx wrote:

So, any info on that issue?

thx
Katachi

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 25/03/2006 at 05:06, xxxxxxxx wrote:

Hmm, what has to be done to get a final word concerning this issue? I am stuck on my code and would eagerly like to know if it´s my fault or the application´s fault.

Thanks
Katachi

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 31/03/2006 at 10:56, xxxxxxxx wrote:

Sorry for the delay. I'm afraid I can't confirm this. I used the following code:

    
    
     Ray r;  
     r.ior = 1.0;  
     r.p = LVector(0,0,0);  
     r.pp[0] = Vector(0,0,0);  
     r.pp[1] = Vector(0,0,0);  
     r.pp[2] = Vector(0,0,0);  
     r.pp[3] = Vector(0,0,0);  
     r.v = LVector(0,0,1);  
     r.vv[0] = Vector(0.5,0,1);  
     r.vv[1] = Vector(-0.1,0,1);  
     r.vv[2] = Vector(0,0.1,1);  
     r.vv[3] = Vector(0,-0.1,1);  
     r.transport = 0.0;  
       
     SurfaceIntersection si;  
     vd->TraceGeometry(&r, 1000000.0, NOTOK, &si);  
       
     SurfaceData cd;   
     vd->GetSurfaceData(&cd, 0, 0, 0, 0, &r, si);
    
    
    
    
     GePrint(RealToString(cd.col.x));

When I change 0.5 to 0.1 I get a different reading, so MIP mapping does seem to be enabled. (The code is just looking at a texture plane with MIP enabled.)

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 13/04/2006 at 06:39, xxxxxxxx wrote:

hi,

thanks for the check. Hmm, I must recheck my code then and see if I am doing anyhting wrong there (although there´s not much to do wrong).

Why did you set transport to 0.0 btw? I never understood for what calculations transport is used for. Can you enlighten me on this one? I know it´s the ray intensity but what is this intensity used for?

Thanks for your efforts