mirror of
https://git.code.sf.net/p/quake/newtree
synced 2025-02-21 10:51:06 +00:00
Optimize skydome rendering. Moves 4 multiplies from inner loop to outer loop. Saves 448 multiplies per pass.
This commit is contained in:
parent
c8ab801128
commit
e1f4bc624a
1 changed files with 10 additions and 11 deletions
|
@ -29,12 +29,11 @@
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
# include "config.h"
|
# include "config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_STRING_H
|
#ifdef HAVE_STRING_H
|
||||||
#include <string.h>
|
# include <string.h>
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_STRINGS_H
|
#ifdef HAVE_STRINGS_H
|
||||||
#include <strings.h>
|
# include <strings.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "console.h"
|
#include "console.h"
|
||||||
|
@ -186,10 +185,10 @@ R_DrawSkyLayer (float s)
|
||||||
vec3_t v;
|
vec3_t v;
|
||||||
|
|
||||||
for (a = 0; a < 16; a++) {
|
for (a = 0; a < 16; a++) {
|
||||||
a1x = bubble_costable[a * 2];
|
a1x = bubble_costable[a * 2] * domescale[0];
|
||||||
a1y = -bubble_sintable[a * 2];
|
a1y = -bubble_sintable[a * 2] * domescale[1];
|
||||||
a2x = bubble_costable[(a + 1) * 2];
|
a2x = bubble_costable[(a + 1) * 2] * domescale[0];
|
||||||
a2y = -bubble_sintable[(a + 1) * 2];
|
a2y = -bubble_sintable[(a + 1) * 2] * domescale[1];
|
||||||
|
|
||||||
glBegin (GL_TRIANGLE_STRIP);
|
glBegin (GL_TRIANGLE_STRIP);
|
||||||
glTexCoord2f (0.5 + s * (1.0 / 128.0), 0.5 + s * (1.0 / 128.0));
|
glTexCoord2f (0.5 + s * (1.0 / 128.0), 0.5 + s * (1.0 / 128.0));
|
||||||
|
@ -199,16 +198,16 @@ R_DrawSkyLayer (float s)
|
||||||
x = bubble_costable[b * 2 + 16];
|
x = bubble_costable[b * 2 + 16];
|
||||||
y = -bubble_sintable[b * 2 + 16];
|
y = -bubble_sintable[b * 2 + 16];
|
||||||
|
|
||||||
v[0] = a1x * x * domescale[0];
|
v[0] = a1x * x;
|
||||||
v[1] = a1y * x * domescale[1];
|
v[1] = a1y * x;
|
||||||
v[2] = y * domescale[2];
|
v[2] = y * domescale[2];
|
||||||
glTexCoord2f ((v[0] + s) * (1.0 / 128.0),
|
glTexCoord2f ((v[0] + s) * (1.0 / 128.0),
|
||||||
(v[1] + s) * (1.0 / 128.0));
|
(v[1] + s) * (1.0 / 128.0));
|
||||||
glVertex3f (v[0] + r_refdef.vieworg[0],
|
glVertex3f (v[0] + r_refdef.vieworg[0],
|
||||||
v[1] + r_refdef.vieworg[1], v[2] + r_refdef.vieworg[2]);
|
v[1] + r_refdef.vieworg[1], v[2] + r_refdef.vieworg[2]);
|
||||||
|
|
||||||
v[0] = a2x * x * domescale[0];
|
v[0] = a2x * x;
|
||||||
v[1] = a2y * x * domescale[1];
|
v[1] = a2y * x;
|
||||||
v[2] = y * domescale[2];
|
v[2] = y * domescale[2];
|
||||||
glTexCoord2f ((v[0] + s) * (1.0 / 128.0),
|
glTexCoord2f ((v[0] + s) * (1.0 / 128.0),
|
||||||
(v[1] + s) * (1.0 / 128.0));
|
(v[1] + s) * (1.0 / 128.0));
|
||||||
|
|
Loading…
Reference in a new issue