# HG changeset patch # User Matti Hamalainen # Date 1349806267 -10800 # Node ID 61eb5fb4a5e6aadc1aeaa943081ea441be5267df # Parent 4b4123143b9e0e679d54db44e4400a9d905641dd Fix a silly rendering issue. diff -r 4b4123143b9e -r 61eb5fb4a5e6 dmq3d.c --- 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); } } diff -r 4b4123143b9e -r 61eb5fb4a5e6 vptest.c --- 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