From 623fc8c73de35bef0785f09bae8a3f607f8ed087 Mon Sep 17 00:00:00 2001 From: Wolfgang Draxinger Date: Fri, 27 Apr 2012 20:43:08 +0200 Subject: qt_terr - a simple quadtree based terrain renderer with LOD --- samples/OpenGL/qt_terr/vecmath.cpp | 39 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 samples/OpenGL/qt_terr/vecmath.cpp (limited to 'samples/OpenGL/qt_terr/vecmath.cpp') diff --git a/samples/OpenGL/qt_terr/vecmath.cpp b/samples/OpenGL/qt_terr/vecmath.cpp new file mode 100644 index 0000000..ff4230c --- /dev/null +++ b/samples/OpenGL/qt_terr/vecmath.cpp @@ -0,0 +1,39 @@ +#include +#include "vecmath.h" + +double DOT(double a[3], double b[3]) +{ + return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]; +} + +void ADD(double out[3], double a[3], double b[3]) +{ + out[0]=a[0]+b[0]; + out[1]=a[1]+b[1]; + out[2]=a[2]+b[2]; +} + +void SUB(double out[3], double a[3], double b[3]) +{ + out[0]=a[0]-b[0]; + out[1]=a[1]-b[1]; + out[2]=a[2]-b[2]; +} + +void SCALE(double out[3], double v[3], double scalar) +{ + out[0]=v[0]*scalar; + out[1]=v[1]*scalar; + out[2]=v[2]*scalar; +} + +double length(double v[3]) +{ + return (double)sqrt(v[0]*v[0]+v[1]*v[1]+v[2]*v[2]); +} + +void normalize(double out[3], double in[3]) +{ + double k=1.0f/length(in); + SCALE(out, in, k); +} \ No newline at end of file -- cgit v1.2.3