Advertisement
Guest User

Untitled

a guest
Jul 30th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. vec3 aniso_data[6]
  2.  
  3. vec3 color = aniso_data[0] + .. + aniso_data[5];
  4. float color_s = max(color.r,max(color.g,color.b)); // o dot(color,vec3(0.3333,0.3333,0.3333));, como prefieras
  5. // haces lo mismo con cada aniso y tenes
  6. vec3 aniso_s[6];
  7.  
  8. entonces
  9.  
  10. posweights.x = anido_ds[0]/color_ds;
  11. posweights.y = anido_ds[1]/color_ds;
  12. posweights.z = anido_ds[2]/color_ds;
  13. negweights.x = anido_ds[3]/color_ds;
  14. negweights.y = anido_ds[4]/color_ds;
  15. negweights.z = anido_ds[5]/color_ds;
  16.  
  17. asi en vez de tener un color por cada eje, tenes una distribucion de la luz que llega a cada eje.
  18.  
  19. despues al samplear lo unico que haces es
  20.  
  21. vec3 posweights;
  22. vec3 negweights;
  23.  
  24. float weight = dot(max(vec3(0.0),(p_dir * posweights),vec3(1.0)) + dot(max(vec3(0.0),(-p_dir * negweights),vec3(1.0));
  25.  
  26. color.rgb*=weight;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement