Jump to content

  • Log In with Google      Sign In   
  • Create Account

Frénésie

Member Since 16 Apr 2012
Offline Last Active May 31 2012 02:48 PM

Posts I've Made

In Topic: Applying texture on a sphere [raytracing]

31 May 2012 - 02:48 PM

I have to specify a couple of vector to define the sphere ? On the 0.x axe and 0.y axe ? And is it on a cartesian reference ?

In Topic: Raytracing: how to use Perlin noise functions.

16 April 2012 - 09:36 AM

Ok i just multiplied my input coordinates by 0.1 and i got some nice results !
Thank you :)

I'll post when i'll see new problems.

In Topic: Raytracing: how to use Perlin noise functions.

16 April 2012 - 09:19 AM

So i need to transform my coordinates to a value between 0 and 1 ?

In Topic: Raytracing: how to use Perlin noise functions.

16 April 2012 - 08:42 AM

I used the noise3() function with all the 3d points of my objects, then i got a return value (double).
I choosed 2 default colors (and the third one was the one of the object).
I choosed 3 default values, 0.25, 0.5 and 0.75.
And i did this:


t_color get_texture(t_color c1, t_color c3, t_color c2, double tab[3])
{
t_color text;
double v;
double f;
int i;

i = 0;
while (i < 8)
{
v = v + noise3(tab);
i++;
}
if (v <= s1)
text.color_int = c1.color_int;
else if (v < s2)
{
f = (v - s1) / (s2 - s1);
text.color_char[0] = 0;
text.color_char[1] = (c1.color_char[1] * (1 - f)) + (c2.color_char[1] * f);
text.color_char[2] = (c1.color_char[2] * (1 - f)) + (c2.color_char[2] * f);
text.color_char[3] = (c1.color_char[3] * (1 - f)) + (c2.color_char[3] * f);
}
else if (v < s3)
{
f = (v - s2) / (s3 - s2);
text.color_char[0] = 0;
text.color_char[1] = (c2.color_char[1] * (1 - f)) + (c3.color_char[1] * f);
text.color_char[2] = (c2.color_char[2] * (1 - f)) + (c3.color_char[2] * f);
text.color_char[3] = (c2.color_char[3] * (1 - f)) + (c3.color_char[3] * f);
}
else
text.color_int = c3.color_int;
return (text);
}

whit t_color as:

typedef union u_color
{
int color_int;
char color_char[4];
}t_color;

The result was a random snow. So i think i didn't use the noise3() function.

PARTNERS