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); }
/* * Set up resources. */ void AddInitialResources() { ResAddPngImage("Texture", "TexturePal", "data/texture-shades.png"); ResAddPngImage("ColorMap", NULL, "data/texture-shades-map.png"); ResAdd("Map", NewUVMap(WIDTH, HEIGHT, UV_FAST, 256, 256)); ResAdd("Shades", NewPixBuf(PIXBUF_GRAY, WIDTH, HEIGHT)); ResAdd("Canvas", NewPixBuf(PIXBUF_CLUT, WIDTH, HEIGHT)); ResAdd("ColFunc", NewColorFunc()); }
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); }
/* * Set up resources. */ void AddInitialResources() { ResAdd("Canvas", NewPixBuf(PIXBUF_CLUT, WIDTH, HEIGHT)); ResAdd("Scene", NewScene()); #if 0 ResAdd("Mesh", NewMeshFromFile("data/shattered_ball.robj")); ResAdd("ColorMap", NewPixBufFromFile("data/shattered_ball_cmap.8")); ResAddPngImage("ColorMap", "Palette", "data/wecan_logo_cmap.png"); ResAdd("Palette", NewPaletteFromFile("data/shattered_ball_cmap.pal")); #else ResAdd("Mesh", NewMeshFromFile("data/wecan_logo.robj")); #endif { MeshT *mesh = R_("Mesh"); CalculateSurfaceNormals(mesh); NormalizeMeshSize(mesh); MeshApplyPalette(mesh, R_("Palette")); } SceneAddObject(R_("Scene"), NewSceneObject("Object", R_("Mesh"))); RenderMode = RENDER_GOURAUD_SHADING; RenderAllFaces = false; }
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); }
static void Init() { canvas = NewPixBuf(PIXBUF_CLUT, WIDTH, HEIGHT); PixBufClear(canvas); ms = NewMatrixStack2D(); InitDisplay(WIDTH, HEIGHT, DEPTH); }
static void Init() { uvmap = NewUVMap(WIDTH, HEIGHT, UV_FAST, 256, 256); canvas = NewPixBuf(PIXBUF_CLUT, WIDTH, HEIGHT); ChangeMap(0); InitDisplay(WIDTH, HEIGHT, DEPTH); LoadPalette(texturePal); }
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); }
void LoadPng(const char *path) { PngT *png = PngLoadFromFile(path); if (png) { PixBufT *pixbuf; int16_t type; puts("IHDR:"); printf(" width : %d\n", png->ihdr.width); printf(" height : %d\n", png->ihdr.height); printf(" bit depth : %d\n", png->ihdr.bit_depth); printf(" color type : "); if (png->ihdr.colour_type == PNG_GRAYSCALE) { type = PIXBUF_GRAY; puts("gray scale"); } else if (png->ihdr.colour_type == PNG_TRUECOLOR) { type = PIXBUF_RGB; puts("true color"); } else if (png->ihdr.colour_type == PNG_INDEXED) { type = PIXBUF_CLUT; puts("indexed color"); } else if (png->ihdr.colour_type == PNG_GRAYSCALE_ALPHA) { type = PIXBUF_GRAY; puts("gray scale (with alpha)"); } else { type = PIXBUF_RGBA; puts("true color (with alpha)"); } printf(" interlace : %s\n", png->ihdr.interlace_method ? "yes" : "no"); if (png->plte.no_colors) { puts("PLTE:"); printf(" colors : %d\n", png->plte.no_colors); } if (png->trns) { puts("tRNS:"); if (png->ihdr.colour_type == PNG_INDEXED) printf(" color : %d\n", png->trns->type3.alpha[0]); } pixbuf = NewPixBuf(type, png->ihdr.width, png->ihdr.height); PngDecodeImage(png, pixbuf); MemUnref(pixbuf); } puts(""); MemUnref(png); }
static void Init() { canvas = NewPixBuf(PIXBUF_CLUT, WIDTH, HEIGHT); map[0] = NewPixBuf(PIXBUF_GRAY, WIDTH, HEIGHT); map[1] = NewPixBuf(PIXBUF_GRAY, WIDTH, HEIGHT); shade = NewPixBuf(PIXBUF_GRAY, WIDTH, HEIGHT); { FLineT line; FPointT pa = { 0, 0 }; FPointT pb = { WIDTH, HEIGHT }; FLineInitFromPoints(&line, &pa, &pb); LinearGradient(map[0], &line); } { FPointT center = { WIDTH / 2, HEIGHT / 2 }; CircularGradient(map[1], ¢er); } InitDisplay(WIDTH, HEIGHT, DEPTH); LoadPalette(imagePal); }
static PixBufT *PngToPixBuf(PngT *png) { PixBufT *pixbuf = NULL; if (png->ihdr.bit_depth == 8) { int16_t type; switch (png->ihdr.colour_type) { case PNG_GRAYSCALE: type = PIXBUF_GRAY; break; case PNG_INDEXED: type = PIXBUF_CLUT; break; default: type = -1; break; } if (type >= 0) { pixbuf = NewPixBuf(type, png->ihdr.width, png->ihdr.height); if (!PngDecodeImage(png, pixbuf)) { MemUnref(pixbuf); pixbuf = NULL; } else { PixBufCalculateHistogram(pixbuf); LOG("The image has %d (%d..%d) colors.", (int)pixbuf->lastColor - (int)pixbuf->baseColor + 1, pixbuf->baseColor, pixbuf->lastColor); if (png->trns) { pixbuf->mode = BLIT_TRANSPARENT; pixbuf->baseColor = png->trns->type3.alpha[0]; LOG("The image is transparent (color = %d).", pixbuf->baseColor); } } } } return pixbuf; }
/* * Load demo. */ bool LoadDemo() { const char *loadImgPath = JsonQueryString(DemoConfig, "load/image"); const char *loadPalPath = JsonQueryString(DemoConfig, "load/palette"); const char *musicPath = JsonQueryString(DemoConfig, "music/file"); if ((TheLoadImg = NewPixBufFromFile(loadImgPath)) && (TheLoadPal = NewPaletteFromFile(loadPalPath)) && (TheMusic = AudioStreamOpen(musicPath)) && (TheCanvas = NewPixBuf(PIXBUF_CLUT, WIDTH, HEIGHT)) && InitDisplay(WIDTH, HEIGHT, DEPTH)) { c2p1x1_8_c5_bm(TheLoadImg->data, GetCurrentBitMap(), WIDTH, HEIGHT, 0, 0); LoadPalette(TheLoadPal); DisplaySwap(); return true; } return false; }
static void Init() { canvas = NewPixBuf(PIXBUF_CLUT, WIDTH, HEIGHT); buffer = NewPixBuf(PIXBUF_CLUT, WIDTH, HEIGHT); InitDisplay(WIDTH, HEIGHT, DEPTH); }
/* * Set up resources. */ void AddInitialResources() { ResAdd("Canvas", NewPixBuf(PIXBUF_CLUT, WIDTH, HEIGHT + 2)); ResAdd("Palette", NewPalette(256)); }