erebus
diff liberebus/src/bvol.cc @ 2:474a0244f57d
fixed specialization mistake
fixed line endings
added makefiles
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Mon, 28 Apr 2014 06:31:10 +0300 |
parents | 4abdce1361b9 |
children | c4d48a21bc4a |
line diff
1.1 --- a/liberebus/src/bvol.cc Mon Apr 28 05:58:22 2014 +0300 1.2 +++ b/liberebus/src/bvol.cc Mon Apr 28 06:31:10 2014 +0300 1.3 @@ -1,38 +1,38 @@ 1.4 -#include "bvol.h" 1.5 - 1.6 -bool AABox::intersect(const Ray &ray) const 1.7 -{ 1.8 - Vector3 param[2] = {vmin, vmax}; 1.9 - Vector3 inv_dir(1.0 / ray.dir.x, 1.0 / ray.dir.y, 1.0 / ray.dir.z); 1.10 - int sign[3] = {inv_dir.x < 0, inv_dir.y < 0, inv_dir.z < 0}; 1.11 - 1.12 - float tmin = (param[sign[0]].x - ray.origin.x) * inv_dir.x; 1.13 - float tmax = (param[1 - sign[0]].x - ray.origin.x) * inv_dir.x; 1.14 - float tymin = (param[sign[1]].y - ray.origin.y) * inv_dir.y; 1.15 - float tymax = (param[1 - sign[1]].y - ray.origin.y) * inv_dir.y; 1.16 - 1.17 - if(tmin > tymax || tymin > tmax) { 1.18 - return false; 1.19 - } 1.20 - if(tymin > tmin) { 1.21 - tmin = tymin; 1.22 - } 1.23 - if(tymax < tmax) { 1.24 - tmax = tymax; 1.25 - } 1.26 - 1.27 - float tzmin = (param[sign[2]].z - ray.origin.z) * inv_dir.z; 1.28 - float tzmax = (param[1 - sign[2]].z - ray.origin.z) * inv_dir.z; 1.29 - 1.30 - if(tmin > tzmax || tzmin > tmax) { 1.31 - return false; 1.32 - } 1.33 - if(tzmin > tmin) { 1.34 - tmin = tzmin; 1.35 - } 1.36 - if(tzmax < tmax) { 1.37 - tmax = tzmax; 1.38 - } 1.39 - 1.40 - return true; 1.41 -} 1.42 \ No newline at end of file 1.43 +#include "bvol.h" 1.44 + 1.45 +bool AABox::intersect(const Ray &ray) const 1.46 +{ 1.47 + Vector3 param[2] = {vmin, vmax}; 1.48 + Vector3 inv_dir(1.0 / ray.dir.x, 1.0 / ray.dir.y, 1.0 / ray.dir.z); 1.49 + int sign[3] = {inv_dir.x < 0, inv_dir.y < 0, inv_dir.z < 0}; 1.50 + 1.51 + float tmin = (param[sign[0]].x - ray.origin.x) * inv_dir.x; 1.52 + float tmax = (param[1 - sign[0]].x - ray.origin.x) * inv_dir.x; 1.53 + float tymin = (param[sign[1]].y - ray.origin.y) * inv_dir.y; 1.54 + float tymax = (param[1 - sign[1]].y - ray.origin.y) * inv_dir.y; 1.55 + 1.56 + if(tmin > tymax || tymin > tmax) { 1.57 + return false; 1.58 + } 1.59 + if(tymin > tmin) { 1.60 + tmin = tymin; 1.61 + } 1.62 + if(tymax < tmax) { 1.63 + tmax = tymax; 1.64 + } 1.65 + 1.66 + float tzmin = (param[sign[2]].z - ray.origin.z) * inv_dir.z; 1.67 + float tzmax = (param[1 - sign[2]].z - ray.origin.z) * inv_dir.z; 1.68 + 1.69 + if(tmin > tzmax || tzmin > tmax) { 1.70 + return false; 1.71 + } 1.72 + if(tzmin > tmin) { 1.73 + tmin = tzmin; 1.74 + } 1.75 + if(tzmax < tmax) { 1.76 + tmax = tzmax; 1.77 + } 1.78 + 1.79 + return true; 1.80 +}