248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
|
curtex++;
return tnum;
} else {
return mapping[tex][frame] = FIRSTTEX; // temp fix
}
}
void
setupworld()
{
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_COLOR_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
setarraypointers();
if (hasoverbright) {
|
|
|
|
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
|
curtex++;
return tnum;
} else {
return mapping[tex][frame] = FIRSTTEX; // temp fix
}
}
static void
gl_setupworld()
{
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_COLOR_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
setarraypointers();
if (hasoverbright) {
|
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
|
static OFMutableData *strips;
void
renderstripssky()
{
glBindTexture(GL_TEXTURE_2D, skyoglid);
const strip *items = (const strip *)strips.items;
size_t count = strips.count;
for (size_t i = 0; i < count; i++)
if (items[i].tex == skyoglid)
glDrawArrays(
GL_TRIANGLE_STRIP, items[i].start, items[i].num);
}
void
renderstrips()
{
int lasttex = -1;
const strip *items = (const strip *)strips.items;
size_t count = strips.count;
for (size_t i = 0; i < count; i++) {
if (items[i].tex == skyoglid)
continue;
if (items[i].tex != lasttex) {
glBindTexture(GL_TEXTURE_2D, items[i].tex);
|
|
|
|
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
|
static OFMutableData *strips;
void
renderstripssky()
{
glBindTexture(GL_TEXTURE_2D, skyoglid);
const struct strip *items = strips.items;
size_t count = strips.count;
for (size_t i = 0; i < count; i++)
if (items[i].tex == skyoglid)
glDrawArrays(
GL_TRIANGLE_STRIP, items[i].start, items[i].num);
}
void
renderstrips()
{
int lasttex = -1;
const struct strip *items = strips.items;
size_t count = strips.count;
for (size_t i = 0; i < count; i++) {
if (items[i].tex == skyoglid)
continue;
if (items[i].tex != lasttex) {
glBindTexture(GL_TEXTURE_2D, items[i].tex);
|
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
|
glTexEnvf(GL_TEXTURE_ENV, GL_RGB_SCALE_EXT, amount);
}
void
addstrip(int tex, int start, int n)
{
if (strips == nil)
strips = [[OFMutableData alloc] initWithItemSize:sizeof(strip)];
strip s = { .tex = tex, .start = start, .num = n };
[strips addItem:&s];
}
VARFP(gamma, 30, 100, 300, {
float f = gamma / 100.0f;
Uint16 ramp[256];
|
|
>
|
|
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
|
glTexEnvf(GL_TEXTURE_ENV, GL_RGB_SCALE_EXT, amount);
}
void
addstrip(int tex, int start, int n)
{
if (strips == nil)
strips = [[OFMutableData alloc]
initWithItemSize:sizeof(struct strip)];
struct strip s = { .tex = tex, .start = start, .num = n };
[strips addItem:&s];
}
VARFP(gamma, 30, 100, 300, {
float f = gamma / 100.0f;
Uint16 ramp[256];
|
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
|
curvert = 0;
[strips removeAllItems];
render_world(player1.o.x, player1.o.y, player1.o.z, (int)player1.yaw,
(int)player1.pitch, (float)fov, w, h);
finishstrips();
setupworld();
renderstripssky();
glLoadIdentity();
glRotated(player1.pitch, -1.0, 0.0, 0.0);
glRotated(player1.yaw, 0.0, 1.0, 0.0);
glRotated(90.0, 1.0, 0.0, 0.0);
|
|
|
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
|
curvert = 0;
[strips removeAllItems];
render_world(player1.o.x, player1.o.y, player1.o.z, (int)player1.yaw,
(int)player1.pitch, (float)fov, w, h);
finishstrips();
gl_setupworld();
renderstripssky();
glLoadIdentity();
glRotated(player1.pitch, -1.0, 0.0, 0.0);
glRotated(player1.yaw, 0.0, 1.0, 0.0);
glRotated(90.0, 1.0, 0.0, 0.0);
|