Пример #1
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);
}
Пример #2
0
static void Init() {
  float lightRadius = 1.0f;
  int i;

  canvas = NewPixBuf(PIXBUF_CLUT, WIDTH, HEIGHT);
  PixBufClear(canvas);

  uvmap = NewUVMap(WIDTH, HEIGHT, UV_FAST, 256, 256);
  UVMapGenerateTunnel(uvmap, 32.0f, 3, 4.0 / 3.0, 0.5, 0.5, NULL);
  UVMapSetTexture(uvmap, texture);

  flare = NewPixBuf(PIXBUF_GRAY, 64, 64);
  GeneratePixels(flare, (GenPixelFuncT)LightLinearFalloff, &lightRadius);
  for (i = 0; i < flare->width * flare->height; i++)
    flare->data[i] /= 4;

  origU = NewPixBuf(PIXBUF_GRAY, WIDTH, HEIGHT);
  PixBufBlit(origU, 0, 0,
             NewPixBufWrapper(WIDTH, HEIGHT, uvmap->map.fast.u), NULL);

  origV = NewPixBuf(PIXBUF_GRAY, WIDTH, HEIGHT);
  PixBufBlit(origV, 0, 0,
             NewPixBufWrapper(WIDTH, HEIGHT, uvmap->map.fast.v), NULL);

  InitDisplay(WIDTH, HEIGHT, DEPTH);
  LoadPalette(texturePal);
}
Пример #3
0
static void ChangeMap(int newMap) {
  while (newMap < 0)
    newMap += maps;

  newMap = newMap % maps;

  if (newMap != lastMap) {
    generate[newMap](uvmap);

    UVMapSetTexture(uvmap, texture);

    lastMap = newMap;
  }
}
Пример #4
0
static void Init() {
  canvas = NewPixBuf(PIXBUF_CLUT, WIDTH, HEIGHT);
  PixBufClear(canvas);

  uvmap = NewUVMap(WIDTH, HEIGHT, UV_NORMAL, 256, 256);
  UVMapSetTexture(uvmap, texture);

  shades = NewPixBuf(PIXBUF_GRAY, WIDTH, HEIGHT);
  smallMap = NewUVMap(H_RAYS, V_RAYS, UV_ACCURATE, 256, 256);
  lightFunc = CalculateLightFunc();

  LoadPalette(texturePal);
  InitDisplay(WIDTH, HEIGHT, DEPTH);
}
Пример #5
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();
}
Пример #6
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);
}
Пример #7
0
static void Init() {
  canvas = NewPixBuf(PIXBUF_CLUT, WIDTH, HEIGHT);

  uvmap = NewUVMap(WIDTH, HEIGHT, UV_FAST, 256, 256);
  UVMapGenerate2(uvmap);
  UVMapSetTexture(uvmap, texture);

  orig = NewPixBuf(PIXBUF_GRAY, WIDTH, HEIGHT);
  PixBufBlit(orig, 0, 0,
             NewPixBufWrapper(WIDTH, HEIGHT, uvmap->map.fast.u), NULL);

  scene = NewScene();
  SceneAddObject(scene, NewSceneObject("Object", mesh));

  shades = NewPixBuf(PIXBUF_GRAY, WIDTH, HEIGHT);

  InitDisplay(WIDTH, HEIGHT, DEPTH);
  LoadPalette(texturePal);
}