aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcnlohr <lohr85@gmail.com>2018-03-11 00:10:38 -0500
committercnlohr <lohr85@gmail.com>2018-03-11 00:10:38 -0500
commitc3f6a9a94575035b4226fc646989d561efe5c3f4 (patch)
tree38c66b591e25ff2a6a088698ef9682d98d080a04
parenta2ba45f43ae02b1e39b1816fe9c1c70c54a7f046 (diff)
downloadlibsurvive-c3f6a9a94575035b4226fc646989d561efe5c3f4.tar.gz
libsurvive-c3f6a9a94575035b4226fc646989d561efe5c3f4.tar.bz2
update with spinning view
-rw-r--r--redist/linmath.c1
-rw-r--r--simple_pose_test.c3
2 files changed, 3 insertions, 1 deletions
diff --git a/redist/linmath.c b/redist/linmath.c
index 4240ed6..3cbe2cc 100644
--- a/redist/linmath.c
+++ b/redist/linmath.c
@@ -491,6 +491,7 @@ void quatrotatevector( FLT * vec3out, const FLT * quat, const FLT * vec3in )
vquat[3] = vec3in[2];
//XXX WARNING: This code is probably SLOW. See this: https://github.com/axlecrusher/hgengine3/blob/master/Mercury3/basic_light1_v.glsl
+ //See: http://www.geeks3d.com/20141201/how-to-rotate-a-vertex-by-a-quaternion-in-glsl/
quatrotateabout( tquat, quat, vquat );
quatgetconjugate( qrecp, quat );
diff --git a/simple_pose_test.c b/simple_pose_test.c
index 4b392b9..aef3de5 100644
--- a/simple_pose_test.c
+++ b/simple_pose_test.c
@@ -126,7 +126,7 @@ void *GUIThread(void*v)
CNFGGetDimensions( &screenx, &screeny );
int x, y;
- float eye[3] = { 8, 8, 8};
+ float eye[3] = { sin(TimeSinceStart)*4, cos(TimeSinceStart)*4, 4};
float at[3] = { 0,0, 0 };
float up[3] = { 0,0, 1 };
@@ -141,6 +141,7 @@ void *GUIThread(void*v)
tdLookAt( gSMatrix, eye, at, up );
CNFGColor( 0x00ffff ); DrawLineSegment( hpos[0], hpos[1], hpos[2], hpos2[0], hpos2[1], hpos2[2] );
+ CNFGColor( 0xff00ff ); DrawLineSegment( hpos[0], hpos[1], hpos[2], hpos[0], hpos[1], hpos[2] );
CNFGColor( 0x0000ff ); DrawLineSegment( 0, 0, 0, 1, 0, 0 );
CNFGColor( 0xff0000 ); DrawLineSegment( 0, 0, 0, 0, 1, 0 );
CNFGColor( 0x00ff00 ); DrawLineSegment( 0, 0, 0, 0, 0, 1 );