changeset 253:61eb5fb4a5e6

Fix a silly rendering issue.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 09 Oct 2012 21:11:07 +0300
parents 4b4123143b9e
children 9c33e11c3d39
files dmq3d.c vptest.c
diffstat 2 files changed, 9 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/dmq3d.c	Tue Oct 09 20:59:45 2012 +0300
+++ b/dmq3d.c	Tue Oct 09 21:11:07 2012 +0300
@@ -108,9 +108,11 @@
     {
         DM3DLine *line = &model->lines[i];
         DMVector pv[2];
-        dm_vector_add_r(&pv[0], &model->vertices[line->v1], pos);
-        dm_vector_add_r(&pv[1], &model->vertices[line->v2], pos);
+        dm_vector_copy(&pv[0], &model->vertices[line->v1]);
+        dm_vector_copy(&pv[1], &model->vertices[line->v2]);
         dm_vector_mul_by_mat_n(pv, 2, mat);
+        dm_vector_add(&pv[0], pos);
+        dm_vector_add(&pv[1], pos);
         
         if (line->type > 1)
             dmDrawLineSpec(screen, dmPX(cx, pv[0]), dmPY(cy, pv[0]), dmPX(cx, pv[1]), dmPY(cy, pv[1]), lcol, fbmap);
@@ -122,9 +124,9 @@
     {
         DM3DSprite *sprite = &model->sprites[i];
         DM3DBitmap *bmp = &model->bitmaps[sprite->bitmap];
-        DMVector pv, pt;
-        dm_vector_add_r(&pt, &model->vertices[sprite->v], pos);
-        dm_vector_mul_by_mat(&pv, &pt, mat);
+        DMVector pv;
+        dm_vector_mul_by_mat(&pv, &model->vertices[sprite->v], mat);
+        dm_vector_add(&pv, pos);
         dmUnscaledBlitSurface32to32Transparent(bmp->img, dmPX(cx, pv), dmPY(cy, pv), screen);
     }
 }
--- a/vptest.c	Tue Oct 09 20:59:45 2012 +0300
+++ b/vptest.c	Tue Oct 09 21:11:07 2012 +0300
@@ -375,11 +375,11 @@
         DMVector pos;
         pos.x = 0;
         pos.y = 0;
-        pos.z = 600;
+        pos.z = 800;
         
         DMMatrix mat;
 //        dm_matrix_rot_a(&mat, f*0.1, 0, (3.1415926535f * 2.0f * ((DMFloat) mouseX + (DMFloat) mouseY) ) / 500.0f);
-        dm_matrix_rot_a(&mat, 0, 0, f*0.1);
+        dm_matrix_rot_a(&mat, f*0.1, f*0.1, f*0.1);
  
         dmDraw3DLineSpriteModel(screen, model, &pos, &mat, fbmap, lcol);
 #endif