static void Render(int frameNumber) { int change = (frameNumber * 2) % 256; switch (effect) { case 0: PROFILE(PixBufCopy) PixBufCopy(canvas, image); PROFILE(PixBufAddAndClamp) PixBufAddAndClamp(shade, map[0], change); PixBufSetColorMap(shade, lighten); PixBufSetBlitMode(shade, BLIT_COLOR_MAP); PROFILE(PixBufBlit) PixBufBlit(canvas, 0, 0, shade, NULL); break; case 1: PROFILE(PixBufCopy) PixBufCopy(canvas, image); PROFILE(PixBufAddAndClamp) PixBufAddAndClamp(shade, map[0], change - 64); PixBufSetColorMap(shade, darken); PixBufSetBlitMode(shade, BLIT_COLOR_MAP); PROFILE(PixBufBlit) PixBufBlit(canvas, 0, 0, shade, NULL); break; case 2: PROFILE(PixBufCopy) PixBufCopy(canvas, image); PROFILE(PixBufAddAndClamp) PixBufAddAndClamp(shade, map[1], change - 64); PixBufSetColorMap(shade, lighten); PixBufSetBlitMode(shade, BLIT_COLOR_MAP); PROFILE(PixBufBlit) PixBufBlit(canvas, 0, 0, shade, NULL); break; case 3: PROFILE(PixBufCopy) PixBufCopy(canvas, image); PROFILE(PixBufAddAndClamp) PixBufAddAndClamp(shade, map[1], change - 64); PixBufSetColorMap(shade, darken); PixBufSetBlitMode(shade, BLIT_COLOR_MAP); PROFILE(PixBufBlit) PixBufBlit(canvas, 0, 0, shade, NULL); break; default: break; } c2p1x1_8_c5_bm(canvas->data, GetCurrentBitMap(), WIDTH, HEIGHT, 0, 0); }
void RenderMesh(int frameNumber_) { PixBufT *canvas = R_("Canvas"); SceneT *scene = R_("Scene"); float frameNumber = frameNumber_; float s = sin(frameNumber * 3.14159265f / 90.0f) + 1.0f; { MatrixStack3D *ms = GetObjectTranslation(scene, "Object"); StackReset(ms); PushScaling3D(ms, 0.75f + 0.5f * s, 0.75f + 0.5f * s, 0.75f + 0.5f * s); PushRotation3D(ms, 0, (float)(-frameNumber * 2), frameNumber); PushTranslation3D(ms, 0.0f, 0.0f, -2.0f); } PixBufClear(canvas); #if 0 RenderFlatShading = true; PixBufSetColorMap(canvas, R_("ColorMap"), -32); #endif PROFILE(RenderScene) RenderScene(scene, canvas); c2p1x1_8_c5_bm(canvas->data, GetCurrentBitMap(), WIDTH, HEIGHT, 0, 0); }
static void Render(int frameNumber) { RaycastCalculateView(frameNumber); PROFILE(RaycastTunnel) RaycastTunnel(smallMap, CameraView.Transformed); PROFILE (UVMapScale8x) UVMapScale8x(uvmap, smallMap); UVMapSetTexture(uvmap, texture); UVMapSetOffset(uvmap, 0, frameNumber); PROFILE (UVMapRender) UVMapRender(uvmap, canvas); PROFILE (RenderShadeMap) RenderShadeMap(shades, uvmap->map.normal.v); PixBufSetColorMap(shades, colorMap); PixBufSetBlitMode(shades, BLIT_COLOR_MAP); PROFILE (BlitShadeMap) PixBufBlit(canvas, 0, 0, shades, NULL); PROFILE (ChunkyToPlanar) c2p1x1_8_c5_bm(canvas->data, GetCurrentBitMap(), WIDTH, HEIGHT, 0, 0); }
/* * Set up effect function. */ void SetupEffect() { UVMapT *uvmap = R_("Map"); PixBufT *shades = R_("Shades"); LoadPalette(R_("TexturePal")); UVMapGenerate4(uvmap); UVMapSetTexture(uvmap, R_("Texture")); uvmap->lightMap = shades; PixBufSetColorMap(shades, R_("ColorMap")); ResAdd("Component", NewPixBufWrapper(WIDTH, HEIGHT, uvmap->map.fast.u)); StartProfiling(); }
static void Render(int frameNumber) { PixBufT *umap; int du = 2 * frameNumber; int dv = 4 * frameNumber; { MatrixStack3D *ms = GetObjectTranslation(scene, "Object"); StackReset(ms); PushScaling3D(ms, 1.25f, 1.25f, 1.25f); PushRotation3D(ms, 0, (float)(-frameNumber * 2), frameNumber); PushTranslation3D(ms, 0.0f, 0.0f, -2.0f); } if (effectNum == 0) { umap = NewPixBufWrapper(WIDTH, HEIGHT, uvmap->map.fast.u); PROFILE(PixBufClear) PixBufClear(shades); PROFILE(RenderScene) RenderScene(scene, shades); PixBufSetBlitMode(shades, BLIT_ADDITIVE); PixBufBlit(umap, 0, 0, orig, NULL); PixBufBlit(umap, 0, 0, shades, NULL); UVMapSetOffset(uvmap, du, dv); UVMapRender(uvmap, canvas); MemUnref(umap); } else { UVMapSetOffset(uvmap, du, dv); UVMapRender(uvmap, canvas); PROFILE(PixBufClear) PixBufClear(shades); PROFILE(RenderScene) RenderScene(scene, shades); PixBufSetColorMap(shades, colorMap); PixBufSetBlitMode(shades, BLIT_COLOR_MAP); PixBufBlit(canvas, 0, 0, shades, NULL); } c2p1x1_8_c5_bm(canvas->data, GetCurrentBitMap(), WIDTH, HEIGHT, 0, 0); }
static void Init() { canvas = NewPixBuf(PIXBUF_CLUT, WIDTH, HEIGHT); shades = NewPixBuf(PIXBUF_GRAY, WIDTH, HEIGHT); PixBufSetColorMap(shades, colorMap); uvmap = NewUVMap(WIDTH, HEIGHT, UV_FAST, 256, 256); uvmap->lightMap = shades; UVMapGenerate4(uvmap); UVMapSetTexture(uvmap, texture); component = NewPixBufWrapper(WIDTH, HEIGHT, uvmap->map.fast.u); colorFunc = NewTable(uint8_t, 256); InitDisplay(WIDTH, HEIGHT, DEPTH); LoadPalette(texturePal); }