Fix: specular

Muy bien!!, nada mas habian 2 errores por mi parte,
'Normal' no estaba normalizado, lo que afectaba las potencias con 'pow'.
Ademas habia un error con los buffers del shader lo que afectaba toda la iluminacion.
Sin embargo lo hiciste muy bien, solo que te falto definir viewPos.
This commit is contained in:
PedroEdiaz
2024-11-14 20:11:30 -06:00
parent 52ef897137
commit 569a8d0f42
4 changed files with 16 additions and 33 deletions

View File

@@ -43,8 +43,9 @@ void klein(float *d_surface, int i, int j, int grid_size)
float * generate_surface(int grid_size)
{
unsigned char m = 4;
long size = grid_size*grid_size*2*9*m;
function_t f = klein;
long size = grid_size*grid_size*6*m;
float * d_surface;
int k=0;
@@ -55,14 +56,6 @@ float * generate_surface(int grid_size)
{
for (int j = 0; j < grid_size; j++)
{
// triangle 1, front
f(&d_surface[k + 1], i, j, grid_size);
k+=m;
f(&d_surface[k + 1], i + 1, j, grid_size);
k+=m;
f(&d_surface[k + 1], i + 1, j + 1, grid_size);
k+=m;
// triangle 1, back
f(&d_surface[k + 1], i + 1, j + 1, grid_size);
k+=m;
@@ -78,14 +71,6 @@ float * generate_surface(int grid_size)
k+=m;
f(&d_surface[k + 1], i + 1, j + 1, grid_size);
k+=m;
// triangle 2, back
f(&d_surface[k + 1], i + 1, j + 1, grid_size);
k+=m;
f(&d_surface[k + 1], i, j + 1, grid_size);
k+=m;
f(&d_surface[k + 1], i, j, grid_size);
k+=m;
}
}