diff options
author | rodri <rgl@antares-labs.eu> | 2024-05-15 14:44:58 +0000 |
---|---|---|
committer | rodri <rgl@antares-labs.eu> | 2024-05-15 14:44:58 +0000 |
commit | c46b7a3e97390bbe8803afbb70b307362f9123f0 (patch) | |
tree | f36bedea637eaf8c312720660513cee5e466ba41 /vis.c | |
parent | 702e1d92ff4e270f5be88d1b5b190c4de758a101 (diff) | |
download | 3dee-c46b7a3e97390bbe8803afbb70b307362f9123f0.tar.gz 3dee-c46b7a3e97390bbe8803afbb70b307362f9123f0.tar.bz2 3dee-c46b7a3e97390bbe8803afbb70b307362f9123f0.zip |
fix the qball.
Diffstat (limited to 'vis.c')
-rw-r--r-- | vis.c | 9 |
1 files changed, 4 insertions, 5 deletions
@@ -50,6 +50,7 @@ Shadertab *shader; Model *model; Entity *subject; Scene *scene; +Mouse om; Quaternion orient = {1,0,0,0}; Camera cams[4], *maincam; @@ -452,6 +453,7 @@ drawstats(void) snprint(stats[Scambz], sizeof(stats[Scambz]), "bz %V", maincam->bz); snprint(stats[Sfps], sizeof(stats[Sfps]), "FPS %.0f/%.0f/%.0f/%.0f", !maincam->stats.max? 0: 1e9/maincam->stats.max, !maincam->stats.avg? 0: 1e9/maincam->stats.avg, !maincam->stats.min? 0: 1e9/maincam->stats.min, !maincam->stats.v? 0: 1e9/maincam->stats.v); snprint(stats[Sframes], sizeof(stats[Sframes]), "frame %llud", maincam->stats.nframes); + snprint(stats[Sorient], sizeof(stats[Sorient]), "ℍ %V", (Point3)orient); for(i = 0; i < Se; i++) stringbg(screen, addpt(screen->r.min, Pt(10,10 + i*font->height)), display->black, ZP, font, stats[i], display->white, ZP); } @@ -518,12 +520,8 @@ drawproc(void *) void lmb(void) { - static Mouse om; - if((om.buttons^mctl->buttons) == 0) - qb(screen->r, om.xy, mctl->xy, &orient, nil); - - om = mctl->Mouse; + qball(screen->r, om.xy, mctl->xy, &orient, nil); } void @@ -602,6 +600,7 @@ mouse(void) zoomin(); if((mctl->buttons & 16) != 0) zoomout(); + om = mctl->Mouse; } void |