mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-01 01:07:51 -04:00
Add support for sRGB framebuffers and blending to tinydisplay renderer.
This commit is contained in:
parent
4ffb512fae
commit
32a9e4d9ed
@ -6,6 +6,7 @@
|
|||||||
#include "td_light.cxx"
|
#include "td_light.cxx"
|
||||||
#include "memory.cxx"
|
#include "memory.cxx"
|
||||||
#include "specbuf.cxx"
|
#include "specbuf.cxx"
|
||||||
|
#include "srgb_tables.cxx"
|
||||||
#include "store_pixel.cxx"
|
#include "store_pixel.cxx"
|
||||||
#include "td_texture.cxx"
|
#include "td_texture.cxx"
|
||||||
#include "tinyGeomMunger.cxx"
|
#include "tinyGeomMunger.cxx"
|
||||||
|
346
panda/src/tinydisplay/srgb_tables.cxx
Normal file
346
panda/src/tinydisplay/srgb_tables.cxx
Normal file
@ -0,0 +1,346 @@
|
|||||||
|
const unsigned short decode_sRGB[256] = { 0x0000, 0x0013, 0x0027, 0x003b,
|
||||||
|
0x004f, 0x0063, 0x0077, 0x008b, 0x009f, 0x00b3, 0x00c6, 0x00db, 0x00f0,
|
||||||
|
0x0107, 0x011f, 0x0139, 0x0153, 0x016f, 0x018c, 0x01aa, 0x01ca, 0x01eb,
|
||||||
|
0x020d, 0x0231, 0x0256, 0x027d, 0x02a4, 0x02ce, 0x02f9, 0x0325, 0x0352,
|
||||||
|
0x0381, 0x03b2, 0x03e4, 0x0418, 0x044d, 0x0484, 0x04bc, 0x04f6, 0x0531,
|
||||||
|
0x056e, 0x05ad, 0x05ed, 0x062f, 0x0672, 0x06b7, 0x06fe, 0x0746, 0x0791,
|
||||||
|
0x07dc, 0x082a, 0x0879, 0x08ca, 0x091d, 0x0971, 0x09c7, 0x0a1f, 0x0a79,
|
||||||
|
0x0ad4, 0x0b32, 0x0b91, 0x0bf2, 0x0c54, 0x0cb9, 0x0d1f, 0x0d88, 0x0df2,
|
||||||
|
0x0e5e, 0x0ecc, 0x0f3c, 0x0fad, 0x1021, 0x1096, 0x110e, 0x1187, 0x1203,
|
||||||
|
0x1280, 0x12ff, 0x1380, 0x1404, 0x1489, 0x1510, 0x1599, 0x1624, 0x16b2,
|
||||||
|
0x1741, 0x17d2, 0x1865, 0x18fb, 0x1992, 0x1a2c, 0x1ac8, 0x1b65, 0x1c05,
|
||||||
|
0x1ca7, 0x1d4b, 0x1df1, 0x1e99, 0x1f44, 0x1ff0, 0x209f, 0x2150, 0x2203,
|
||||||
|
0x22b8, 0x2370, 0x2429, 0x24e5, 0x25a3, 0x2663, 0x2726, 0x27ea, 0x28b1,
|
||||||
|
0x297a, 0x2a45, 0x2b13, 0x2be3, 0x2cb5, 0x2d89, 0x2e60, 0x2f39, 0x3014,
|
||||||
|
0x30f2, 0x31d2, 0x32b4, 0x3398, 0x347f, 0x3569, 0x3654, 0x3742, 0x3832,
|
||||||
|
0x3925, 0x3a1a, 0x3b11, 0x3c0b, 0x3d07, 0x3e05, 0x3f06, 0x400a, 0x410f,
|
||||||
|
0x4218, 0x4322, 0x442f, 0x453f, 0x4650, 0x4765, 0x487c, 0x4995, 0x4ab1,
|
||||||
|
0x4bcf, 0x4cf0, 0x4e13, 0x4f39, 0x5061, 0x518b, 0x52b9, 0x53e8, 0x551b,
|
||||||
|
0x5650, 0x5787, 0x58c1, 0x59fd, 0x5b3c, 0x5c7e, 0x5dc2, 0x5f09, 0x6052,
|
||||||
|
0x619e, 0x62ec, 0x643d, 0x6591, 0x66e7, 0x6840, 0x699b, 0x6afa, 0x6c5a,
|
||||||
|
0x6dbe, 0x6f24, 0x708c, 0x71f8, 0x7366, 0x74d6, 0x764a, 0x77c0, 0x7938,
|
||||||
|
0x7ab4, 0x7c32, 0x7db3, 0x7f36, 0x80bc, 0x8245, 0x83d1, 0x855f, 0x86f0,
|
||||||
|
0x8884, 0x8a1a, 0x8bb4, 0x8d50, 0x8eee, 0x9090, 0x9234, 0x93db, 0x9585,
|
||||||
|
0x9732, 0x98e1, 0x9a93, 0x9c48, 0x9e00, 0x9fbb, 0xa178, 0xa338, 0xa4fb,
|
||||||
|
0xa6c1, 0xa88a, 0xaa56, 0xac24, 0xadf5, 0xafc9, 0xb1a0, 0xb37a, 0xb557,
|
||||||
|
0xb736, 0xb919, 0xbafe, 0xbce6, 0xbed2, 0xc0c0, 0xc2b0, 0xc4a4, 0xc69b,
|
||||||
|
0xc895, 0xca91, 0xcc91, 0xce93, 0xd098, 0xd2a1, 0xd4ac, 0xd6ba, 0xd8cb,
|
||||||
|
0xdadf, 0xdcf7, 0xdf11, 0xe12e, 0xe34e, 0xe571, 0xe796, 0xe9bf, 0xebeb,
|
||||||
|
0xee1a, 0xf04c, 0xf281, 0xf4b9, 0xf6f4, 0xf932, 0xfb73, 0xfdb7, 0xffff};
|
||||||
|
|
||||||
|
const unsigned char encode_sRGB[4096] = { 0x00, 0x01, 0x02, 0x02, 0x03, 0x04,
|
||||||
|
0x05, 0x06, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0a, 0x0b, 0x0c, 0x0d, 0x0d, 0x0e,
|
||||||
|
0x0f, 0x0f, 0x10, 0x10, 0x11, 0x12, 0x12, 0x13, 0x13, 0x14, 0x14, 0x15, 0x15,
|
||||||
|
0x16, 0x16, 0x17, 0x17, 0x17, 0x18, 0x18, 0x19, 0x19, 0x19, 0x1a, 0x1a, 0x1b,
|
||||||
|
0x1b, 0x1b, 0x1c, 0x1c, 0x1d, 0x1d, 0x1d, 0x1e, 0x1e, 0x1e, 0x1f, 0x1f, 0x1f,
|
||||||
|
0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x22, 0x22, 0x22, 0x22, 0x23, 0x23, 0x23,
|
||||||
|
0x24, 0x24, 0x24, 0x25, 0x25, 0x25, 0x25, 0x26, 0x26, 0x26, 0x26, 0x27, 0x27,
|
||||||
|
0x27, 0x28, 0x28, 0x28, 0x28, 0x29, 0x29, 0x29, 0x29, 0x2a, 0x2a, 0x2a, 0x2a,
|
||||||
|
0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2c, 0x2c, 0x2c, 0x2c, 0x2d, 0x2d, 0x2d, 0x2d,
|
||||||
|
0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2f, 0x2f, 0x2f, 0x2f, 0x30, 0x30, 0x30, 0x30,
|
||||||
|
0x30, 0x31, 0x31, 0x31, 0x31, 0x31, 0x32, 0x32, 0x32, 0x32, 0x32, 0x33, 0x33,
|
||||||
|
0x33, 0x33, 0x33, 0x34, 0x34, 0x34, 0x34, 0x34, 0x35, 0x35, 0x35, 0x35, 0x35,
|
||||||
|
0x36, 0x36, 0x36, 0x36, 0x36, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x38, 0x38,
|
||||||
|
0x38, 0x38, 0x38, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x3a, 0x3a, 0x3a, 0x3a,
|
||||||
|
0x3a, 0x3a, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c,
|
||||||
|
0x3c, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e,
|
||||||
|
0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
|
||||||
|
0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
|
||||||
|
0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
|
||||||
|
0x44, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x46, 0x46, 0x46, 0x46, 0x46,
|
||||||
|
0x46, 0x46, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x48, 0x48, 0x48, 0x48,
|
||||||
|
0x48, 0x48, 0x48, 0x48, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x4a, 0x4a,
|
||||||
|
0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b,
|
||||||
|
0x4b, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d,
|
||||||
|
0x4d, 0x4d, 0x4d, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4f,
|
||||||
|
0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
|
||||||
|
0x50, 0x50, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x52, 0x52,
|
||||||
|
0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53,
|
||||||
|
0x53, 0x53, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56,
|
||||||
|
0x56, 0x56, 0x56, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x58,
|
||||||
|
0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x59, 0x59, 0x59, 0x59,
|
||||||
|
0x59, 0x59, 0x59, 0x59, 0x59, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
||||||
|
0x5a, 0x5a, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5c,
|
||||||
|
0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5d, 0x5d, 0x5d, 0x5d,
|
||||||
|
0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e,
|
||||||
|
0x5e, 0x5e, 0x5e, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
|
||||||
|
0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x61, 0x61,
|
||||||
|
0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x62, 0x62, 0x62, 0x62, 0x62,
|
||||||
|
0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
|
||||||
|
0x63, 0x63, 0x63, 0x63, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64,
|
||||||
|
0x64, 0x64, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65,
|
||||||
|
0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x67,
|
||||||
|
0x67, 0x67, 0x67, 0x67, 0x67, 0x67, 0x67, 0x67, 0x67, 0x67, 0x68, 0x68, 0x68,
|
||||||
|
0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x69, 0x69, 0x69, 0x69, 0x69,
|
||||||
|
0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a,
|
||||||
|
0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6b, 0x6b, 0x6b, 0x6b, 0x6b, 0x6b, 0x6b,
|
||||||
|
0x6b, 0x6b, 0x6b, 0x6b, 0x6b, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c,
|
||||||
|
0x6c, 0x6c, 0x6c, 0x6c, 0x6d, 0x6d, 0x6d, 0x6d, 0x6d, 0x6d, 0x6d, 0x6d, 0x6d,
|
||||||
|
0x6d, 0x6d, 0x6d, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e,
|
||||||
|
0x6e, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f,
|
||||||
|
0x6f, 0x6f, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70,
|
||||||
|
0x70, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71,
|
||||||
|
0x71, 0x72, 0x72, 0x72, 0x72, 0x72, 0x72, 0x72, 0x72, 0x72, 0x72, 0x72, 0x72,
|
||||||
|
0x72, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73,
|
||||||
|
0x73, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74,
|
||||||
|
0x74, 0x75, 0x75, 0x75, 0x75, 0x75, 0x75, 0x75, 0x75, 0x75, 0x75, 0x75, 0x75,
|
||||||
|
0x75, 0x75, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76, 0x76,
|
||||||
|
0x76, 0x76, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
|
||||||
|
0x77, 0x77, 0x77, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
||||||
|
0x78, 0x78, 0x78, 0x78, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
|
||||||
|
0x79, 0x79, 0x79, 0x79, 0x7a, 0x7a, 0x7a, 0x7a, 0x7a, 0x7a, 0x7a, 0x7a, 0x7a,
|
||||||
|
0x7a, 0x7a, 0x7a, 0x7a, 0x7a, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
|
||||||
|
0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c,
|
||||||
|
0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d,
|
||||||
|
0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7e, 0x7e, 0x7e,
|
||||||
|
0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7f, 0x7f,
|
||||||
|
0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
|
||||||
|
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
|
||||||
|
0x80, 0x80, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
|
||||||
|
0x81, 0x81, 0x81, 0x81, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82,
|
||||||
|
0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83,
|
||||||
|
0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x84, 0x84, 0x84, 0x84,
|
||||||
|
0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x85, 0x85,
|
||||||
|
0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85,
|
||||||
|
0x85, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,
|
||||||
|
0x86, 0x86, 0x86, 0x86, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,
|
||||||
|
0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
|
||||||
|
0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x89, 0x89, 0x89,
|
||||||
|
0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89,
|
||||||
|
0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a,
|
||||||
|
0x8a, 0x8a, 0x8a, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b,
|
||||||
|
0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8c, 0x8c, 0x8c, 0x8c, 0x8c, 0x8c,
|
||||||
|
0x8c, 0x8c, 0x8c, 0x8c, 0x8c, 0x8c, 0x8c, 0x8c, 0x8c, 0x8c, 0x8c, 0x8d, 0x8d,
|
||||||
|
0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d,
|
||||||
|
0x8d, 0x8d, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e,
|
||||||
|
0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f,
|
||||||
|
0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x90, 0x90, 0x90,
|
||||||
|
0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
|
||||||
|
0x90, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91,
|
||||||
|
0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92,
|
||||||
|
0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x93, 0x93, 0x93,
|
||||||
|
0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93, 0x93,
|
||||||
|
0x93, 0x93, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94,
|
||||||
|
0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95,
|
||||||
|
0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x96,
|
||||||
|
0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96,
|
||||||
|
0x96, 0x96, 0x96, 0x96, 0x96, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97,
|
||||||
|
0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x98, 0x98, 0x98,
|
||||||
|
0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98,
|
||||||
|
0x98, 0x98, 0x98, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
|
||||||
|
0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a,
|
||||||
|
0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a,
|
||||||
|
0x9a, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b,
|
||||||
|
0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b, 0x9c, 0x9c, 0x9c, 0x9c, 0x9c, 0x9c,
|
||||||
|
0x9c, 0x9c, 0x9c, 0x9c, 0x9c, 0x9c, 0x9c, 0x9c, 0x9c, 0x9c, 0x9c, 0x9c, 0x9c,
|
||||||
|
0x9d, 0x9d, 0x9d, 0x9d, 0x9d, 0x9d, 0x9d, 0x9d, 0x9d, 0x9d, 0x9d, 0x9d, 0x9d,
|
||||||
|
0x9d, 0x9d, 0x9d, 0x9d, 0x9d, 0x9d, 0x9d, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e,
|
||||||
|
0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e,
|
||||||
|
0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f,
|
||||||
|
0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0,
|
||||||
|
0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0,
|
||||||
|
0xa0, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1,
|
||||||
|
0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2,
|
||||||
|
0xa2, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2,
|
||||||
|
0xa2, 0xa2, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3,
|
||||||
|
0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa4, 0xa4, 0xa4, 0xa4,
|
||||||
|
0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4,
|
||||||
|
0xa4, 0xa4, 0xa4, 0xa4, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5,
|
||||||
|
0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa6,
|
||||||
|
0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6,
|
||||||
|
0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa7, 0xa7, 0xa7, 0xa7, 0xa7, 0xa7, 0xa7,
|
||||||
|
0xa7, 0xa7, 0xa7, 0xa7, 0xa7, 0xa7, 0xa7, 0xa7, 0xa7, 0xa7, 0xa7, 0xa7, 0xa7,
|
||||||
|
0xa7, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8,
|
||||||
|
0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa9, 0xa9, 0xa9,
|
||||||
|
0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9,
|
||||||
|
0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab,
|
||||||
|
0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xac, 0xac, 0xac, 0xac,
|
||||||
|
0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac,
|
||||||
|
0xac, 0xac, 0xac, 0xac, 0xac, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad,
|
||||||
|
0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad,
|
||||||
|
0xad, 0xae, 0xae, 0xae, 0xae, 0xae, 0xae, 0xae, 0xae, 0xae, 0xae, 0xae, 0xae,
|
||||||
|
0xae, 0xae, 0xae, 0xae, 0xae, 0xae, 0xae, 0xae, 0xae, 0xae, 0xaf, 0xaf, 0xaf,
|
||||||
|
0xaf, 0xaf, 0xaf, 0xaf, 0xaf, 0xaf, 0xaf, 0xaf, 0xaf, 0xaf, 0xaf, 0xaf, 0xaf,
|
||||||
|
0xaf, 0xaf, 0xaf, 0xaf, 0xaf, 0xaf, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0,
|
||||||
|
0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0,
|
||||||
|
0xb0, 0xb0, 0xb0, 0xb1, 0xb1, 0xb1, 0xb1, 0xb1, 0xb1, 0xb1, 0xb1, 0xb1, 0xb1,
|
||||||
|
0xb1, 0xb1, 0xb1, 0xb1, 0xb1, 0xb1, 0xb1, 0xb1, 0xb1, 0xb1, 0xb1, 0xb1, 0xb2,
|
||||||
|
0xb2, 0xb2, 0xb2, 0xb2, 0xb2, 0xb2, 0xb2, 0xb2, 0xb2, 0xb2, 0xb2, 0xb2, 0xb2,
|
||||||
|
0xb2, 0xb2, 0xb2, 0xb2, 0xb2, 0xb2, 0xb2, 0xb2, 0xb2, 0xb3, 0xb3, 0xb3, 0xb3,
|
||||||
|
0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0xb3,
|
||||||
|
0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
||||||
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
||||||
|
0xb4, 0xb4, 0xb4, 0xb5, 0xb5, 0xb5, 0xb5, 0xb5, 0xb5, 0xb5, 0xb5, 0xb5, 0xb5,
|
||||||
|
0xb5, 0xb5, 0xb5, 0xb5, 0xb5, 0xb5, 0xb5, 0xb5, 0xb5, 0xb5, 0xb5, 0xb5, 0xb5,
|
||||||
|
0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6,
|
||||||
|
0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb7, 0xb7,
|
||||||
|
0xb7, 0xb7, 0xb7, 0xb7, 0xb7, 0xb7, 0xb7, 0xb7, 0xb7, 0xb7, 0xb7, 0xb7, 0xb7,
|
||||||
|
0xb7, 0xb7, 0xb7, 0xb7, 0xb7, 0xb7, 0xb7, 0xb7, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8,
|
||||||
|
0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8,
|
||||||
|
0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9,
|
||||||
|
0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9,
|
||||||
|
0xb9, 0xb9, 0xb9, 0xb9, 0xba, 0xba, 0xba, 0xba, 0xba, 0xba, 0xba, 0xba, 0xba,
|
||||||
|
0xba, 0xba, 0xba, 0xba, 0xba, 0xba, 0xba, 0xba, 0xba, 0xba, 0xba, 0xba, 0xba,
|
||||||
|
0xba, 0xba, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb,
|
||||||
|
0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb,
|
||||||
|
0xbb, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc,
|
||||||
|
0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbd,
|
||||||
|
0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd,
|
||||||
|
0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbe, 0xbe,
|
||||||
|
0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe,
|
||||||
|
0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbf, 0xbf, 0xbf, 0xbf,
|
||||||
|
0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf,
|
||||||
|
0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
|
||||||
|
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
|
||||||
|
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
|
||||||
|
0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
|
||||||
|
0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc2, 0xc2, 0xc2, 0xc2, 0xc2, 0xc2,
|
||||||
|
0xc2, 0xc2, 0xc2, 0xc2, 0xc2, 0xc2, 0xc2, 0xc2, 0xc2, 0xc2, 0xc2, 0xc2, 0xc2,
|
||||||
|
0xc2, 0xc2, 0xc2, 0xc2, 0xc2, 0xc2, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3,
|
||||||
|
0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3,
|
||||||
|
0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4,
|
||||||
|
0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4,
|
||||||
|
0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
|
||||||
|
0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
|
||||||
|
0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6,
|
||||||
|
0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6,
|
||||||
|
0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7,
|
||||||
|
0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7,
|
||||||
|
0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8,
|
||||||
|
0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8,
|
||||||
|
0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9,
|
||||||
|
0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9,
|
||||||
|
0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xca, 0xca, 0xca, 0xca, 0xca,
|
||||||
|
0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca,
|
||||||
|
0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xcb, 0xcb, 0xcb, 0xcb,
|
||||||
|
0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb,
|
||||||
|
0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcc, 0xcc, 0xcc,
|
||||||
|
0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
|
||||||
|
0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcd, 0xcd,
|
||||||
|
0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd,
|
||||||
|
0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xce,
|
||||||
|
0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce,
|
||||||
|
0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce,
|
||||||
|
0xce, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf,
|
||||||
|
0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf,
|
||||||
|
0xcf, 0xcf, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0,
|
||||||
|
0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0,
|
||||||
|
0xd0, 0xd0, 0xd0, 0xd0, 0xd1, 0xd1, 0xd1, 0xd1, 0xd1, 0xd1, 0xd1, 0xd1, 0xd1,
|
||||||
|
0xd1, 0xd1, 0xd1, 0xd1, 0xd1, 0xd1, 0xd1, 0xd1, 0xd1, 0xd1, 0xd1, 0xd1, 0xd1,
|
||||||
|
0xd1, 0xd1, 0xd1, 0xd1, 0xd1, 0xd1, 0xd1, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
||||||
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
||||||
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd3, 0xd3, 0xd3, 0xd3,
|
||||||
|
0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3,
|
||||||
|
0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd4, 0xd4,
|
||||||
|
0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4,
|
||||||
|
0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4,
|
||||||
|
0xd4, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5,
|
||||||
|
0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5,
|
||||||
|
0xd5, 0xd5, 0xd5, 0xd5, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6,
|
||||||
|
0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6,
|
||||||
|
0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7,
|
||||||
|
0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7,
|
||||||
|
0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd8, 0xd8, 0xd8,
|
||||||
|
0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8,
|
||||||
|
0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8,
|
||||||
|
0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9,
|
||||||
|
0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9,
|
||||||
|
0xd9, 0xd9, 0xd9, 0xd9, 0xda, 0xda, 0xda, 0xda, 0xda, 0xda, 0xda, 0xda, 0xda,
|
||||||
|
0xda, 0xda, 0xda, 0xda, 0xda, 0xda, 0xda, 0xda, 0xda, 0xda, 0xda, 0xda, 0xda,
|
||||||
|
0xda, 0xda, 0xda, 0xda, 0xda, 0xda, 0xda, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb,
|
||||||
|
0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb,
|
||||||
|
0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdc, 0xdc,
|
||||||
|
0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc,
|
||||||
|
0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc,
|
||||||
|
0xdc, 0xdc, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
|
||||||
|
0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
|
||||||
|
0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde,
|
||||||
|
0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde,
|
||||||
|
0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xdf, 0xdf,
|
||||||
|
0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf,
|
||||||
|
0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf,
|
||||||
|
0xdf, 0xdf, 0xdf, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
|
||||||
|
0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
|
||||||
|
0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,
|
||||||
|
0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,
|
||||||
|
0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe2,
|
||||||
|
0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2,
|
||||||
|
0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2,
|
||||||
|
0xe2, 0xe2, 0xe2, 0xe2, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3,
|
||||||
|
0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3,
|
||||||
|
0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe4, 0xe4, 0xe4,
|
||||||
|
0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4,
|
||||||
|
0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4,
|
||||||
|
0xe4, 0xe4, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5,
|
||||||
|
0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5,
|
||||||
|
0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6,
|
||||||
|
0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6,
|
||||||
|
0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6,
|
||||||
|
0xe6, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7,
|
||||||
|
0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7,
|
||||||
|
0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8,
|
||||||
|
0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8,
|
||||||
|
0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8,
|
||||||
|
0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9,
|
||||||
|
0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9,
|
||||||
|
0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,
|
||||||
|
0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,
|
||||||
|
0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,
|
||||||
|
0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb,
|
||||||
|
0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb,
|
||||||
|
0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec,
|
||||||
|
0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec,
|
||||||
|
0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec,
|
||||||
|
0xec, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed,
|
||||||
|
0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed,
|
||||||
|
0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xee, 0xee, 0xee, 0xee, 0xee,
|
||||||
|
0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
|
||||||
|
0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
|
||||||
|
0xee, 0xee, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef,
|
||||||
|
0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef,
|
||||||
|
0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xf0, 0xf0, 0xf0,
|
||||||
|
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
|
||||||
|
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
|
||||||
|
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
||||||
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
||||||
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
||||||
|
0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2,
|
||||||
|
0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2,
|
||||||
|
0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3,
|
||||||
|
0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3,
|
||||||
|
0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3,
|
||||||
|
0xf3, 0xf3, 0xf3, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4,
|
||||||
|
0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4,
|
||||||
|
0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf5, 0xf5,
|
||||||
|
0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5,
|
||||||
|
0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5,
|
||||||
|
0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6,
|
||||||
|
0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6,
|
||||||
|
0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6,
|
||||||
|
0xf6, 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7,
|
||||||
|
0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7,
|
||||||
|
0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf8,
|
||||||
|
0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8,
|
||||||
|
0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8,
|
||||||
|
0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9,
|
||||||
|
0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9,
|
||||||
|
0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9,
|
||||||
|
0xf9, 0xf9, 0xf9, 0xf9, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa,
|
||||||
|
0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa,
|
||||||
|
0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa,
|
||||||
|
0xfa, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
|
||||||
|
0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
|
||||||
|
0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfc, 0xfc,
|
||||||
|
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
|
||||||
|
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
|
||||||
|
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd,
|
||||||
|
0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd,
|
||||||
|
0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd,
|
||||||
|
0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
|
||||||
|
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
|
||||||
|
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
|
||||||
|
0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
|
6
panda/src/tinydisplay/srgb_tables.h
Normal file
6
panda/src/tinydisplay/srgb_tables.h
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
/* 8-bit sRGB to 16-bit linear */
|
||||||
|
extern const unsigned short decode_sRGB[256];
|
||||||
|
|
||||||
|
/* 12-bit linear to 8-bit sRGB. I used 12-bit because it can
|
||||||
|
represent all possible 8-bit sRGB values. */
|
||||||
|
extern const unsigned char encode_sRGB[4096];
|
@ -18,7 +18,7 @@
|
|||||||
/* This file generates lots of "template" variations, using #define
|
/* This file generates lots of "template" variations, using #define
|
||||||
and #include, similar to the way ztriangle.h works. */
|
and #include, similar to the way ztriangle.h works. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
FNAME(store_pixel) (ZBuffer *zb, PIXEL &result, int r, int g, int b, int a) {
|
FNAME(store_pixel) (ZBuffer *zb, PIXEL &result, int r, int g, int b, int a) {
|
||||||
unsigned int fr = PIXEL_R(result);
|
unsigned int fr = PIXEL_R(result);
|
||||||
unsigned int fg = PIXEL_G(result);
|
unsigned int fg = PIXEL_G(result);
|
||||||
@ -32,8 +32,27 @@ FNAME(store_pixel) (ZBuffer *zb, PIXEL &result, int r, int g, int b, int a) {
|
|||||||
result = RGBA_TO_PIXEL(r, g, b, a);
|
result = RGBA_TO_PIXEL(r, g, b, a);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef FNAME_S
|
||||||
|
/* sRGB variant. */
|
||||||
|
|
||||||
#undef FNAME
|
static void
|
||||||
|
FNAME_S(store_pixel) (ZBuffer *zb, PIXEL &result, int r, int g, int b, int a) {
|
||||||
|
unsigned int fr = PIXEL_SR(result);
|
||||||
|
unsigned int fg = PIXEL_SG(result);
|
||||||
|
unsigned int fb = PIXEL_SB(result);
|
||||||
|
unsigned int fa = PIXEL_A(result);
|
||||||
|
|
||||||
|
r = STORE_PIXEL_0(fr, ((unsigned int)r * OP_A(fr, r) >> 16) + ((unsigned int)fr * OP_B(fr, r) >> 16));
|
||||||
|
g = STORE_PIXEL_1(fg, ((unsigned int)g * OP_A(fg, g) >> 16) + ((unsigned int)fg * OP_B(fg, g) >> 16));
|
||||||
|
b = STORE_PIXEL_2(fg, ((unsigned int)b * OP_A(fb, b) >> 16) + ((unsigned int)fb * OP_B(fb, b) >> 16));
|
||||||
|
a = STORE_PIXEL_3(fg, ((unsigned int)a * OP_A(fa, a) >> 16) + ((unsigned int)fa * OP_B(fa, a) >> 16));
|
||||||
|
result = SRGBA_TO_PIXEL(r, g, b, a);
|
||||||
|
}
|
||||||
|
|
||||||
|
#undef FNAME_S
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#undef FNAME
|
||||||
#undef OP_A
|
#undef OP_A
|
||||||
#undef OP_B
|
#undef OP_B
|
||||||
#undef STORE_PIXEL_0
|
#undef STORE_PIXEL_0
|
||||||
|
@ -63,6 +63,9 @@ for op_a in Operands:
|
|||||||
for mask in range(0, 16):
|
for mask in range(0, 16):
|
||||||
fname = getFname(op_a, op_b, mask)
|
fname = getFname(op_a, op_b, mask)
|
||||||
print >> code, '#define FNAME(name) %s' % (fname)
|
print >> code, '#define FNAME(name) %s' % (fname)
|
||||||
|
if mask & (1 | 2 | 3):
|
||||||
|
print >> code, '#define FNAME_S(name) %s_s' % (fname)
|
||||||
|
|
||||||
print >> code, '#define OP_A(f, i) ((unsigned int)(%s))' % (CodeTable[op_a])
|
print >> code, '#define OP_A(f, i) ((unsigned int)(%s))' % (CodeTable[op_a])
|
||||||
print >> code, '#define OP_B(f, i) ((unsigned int)(%s))' % (CodeTable[op_b])
|
print >> code, '#define OP_B(f, i) ((unsigned int)(%s))' % (CodeTable[op_b])
|
||||||
for b in range(0, 4):
|
for b in range(0, 4):
|
||||||
@ -91,3 +94,22 @@ for op_a in Operands:
|
|||||||
print >> code, ' },'
|
print >> code, ' },'
|
||||||
print >> code, '};'
|
print >> code, '};'
|
||||||
|
|
||||||
|
print >> code
|
||||||
|
|
||||||
|
# Now do this again, but for the sRGB function pointers.
|
||||||
|
print >> table, 'extern const ZB_storePixelFunc store_pixel_funcs_sRGB%s;' % (arraySize)
|
||||||
|
print >> code, 'const ZB_storePixelFunc store_pixel_funcs_sRGB%s = {' % (arraySize)
|
||||||
|
|
||||||
|
for op_a in Operands:
|
||||||
|
print >> code, ' {'
|
||||||
|
for op_b in Operands:
|
||||||
|
print >> code, ' {'
|
||||||
|
for mask in range(0, 16):
|
||||||
|
fname = getFname(op_a, op_b, mask)
|
||||||
|
if mask & (1 | 2 | 3):
|
||||||
|
print >> code, ' %s_s,' % (fname)
|
||||||
|
else:
|
||||||
|
print >> code, ' %s,' % (fname)
|
||||||
|
print >> code, ' },'
|
||||||
|
print >> code, ' },'
|
||||||
|
print >> code, '};'
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,3 +1,4 @@
|
|||||||
/* This file is generated code--do not edit. See store_pixel.py. */
|
/* This file is generated code--do not edit. See store_pixel.py. */
|
||||||
|
|
||||||
extern const ZB_storePixelFunc store_pixel_funcs[14][14][16];
|
extern const ZB_storePixelFunc store_pixel_funcs[14][14][16];
|
||||||
|
extern const ZB_storePixelFunc store_pixel_funcs_sRGB[14][14][16];
|
||||||
|
@ -226,31 +226,35 @@ clear(DrawableRegion *clearable) {
|
|||||||
(!clearable->get_clear_stencil_active())) {
|
(!clearable->get_clear_stencil_active())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
set_state_and_transform(RenderState::make_empty(), _internal_transform);
|
set_state_and_transform(RenderState::make_empty(), _internal_transform);
|
||||||
|
|
||||||
bool clear_color = false;
|
bool clear_color = false;
|
||||||
int r, g, b, a;
|
PIXEL color = 0;
|
||||||
if (clearable->get_clear_color_active()) {
|
if (clearable->get_clear_color_active()) {
|
||||||
LColor v = clearable->get_clear_color();
|
LColor v = clearable->get_clear_color();
|
||||||
r = (int)(v[0] * 0xffff);
|
|
||||||
g = (int)(v[1] * 0xffff);
|
if (_current_properties->get_srgb_color()) {
|
||||||
b = (int)(v[2] * 0xffff);
|
color = SRGBA_TO_PIXEL(
|
||||||
a = (int)(v[3] * 0xffff);
|
(v[0] * 0xffff), (v[1] * 0xffff),
|
||||||
|
(v[2] * 0xffff), (v[3] * 0xffff));
|
||||||
|
} else {
|
||||||
|
color = RGBA_TO_PIXEL(
|
||||||
|
(v[0] * 0xffff), (v[1] * 0xffff),
|
||||||
|
(v[2] * 0xffff), (v[3] * 0xffff));
|
||||||
|
}
|
||||||
clear_color = true;
|
clear_color = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool clear_z = false;
|
bool clear_z = false;
|
||||||
int z;
|
int z = 0;
|
||||||
if (clearable->get_clear_depth_active()) {
|
if (clearable->get_clear_depth_active()) {
|
||||||
// We ignore the specified depth clear value, since we don't
|
// We ignore the specified depth clear value, since we don't
|
||||||
// support alternate depth compare functions anyway.
|
// support alternate depth compare functions anyway.
|
||||||
z = 0;
|
|
||||||
clear_z = true;
|
clear_z = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
ZB_clear_viewport(_c->zb, clear_z, z,
|
ZB_clear_viewport(_c->zb, clear_z, z, clear_color, color,
|
||||||
clear_color, r, g, b, a,
|
|
||||||
_c->viewport.xmin, _c->viewport.ymin,
|
_c->viewport.xmin, _c->viewport.ymin,
|
||||||
_c->viewport.xsize, _c->viewport.ysize);
|
_c->viewport.xsize, _c->viewport.ysize);
|
||||||
}
|
}
|
||||||
@ -280,7 +284,7 @@ prepare_display_region(DisplayRegionPipelineReader *dr) {
|
|||||||
if (_aux_frame_buffer == (ZBuffer *)NULL) {
|
if (_aux_frame_buffer == (ZBuffer *)NULL) {
|
||||||
_aux_frame_buffer = ZB_open(xsize, ysize, ZB_MODE_RGBA, 0, 0, 0, 0);
|
_aux_frame_buffer = ZB_open(xsize, ysize, ZB_MODE_RGBA, 0, 0, 0, 0);
|
||||||
} else if (_aux_frame_buffer->xsize < xsize || _aux_frame_buffer->ysize < ysize) {
|
} else if (_aux_frame_buffer->xsize < xsize || _aux_frame_buffer->ysize < ysize) {
|
||||||
ZB_resize(_aux_frame_buffer, NULL,
|
ZB_resize(_aux_frame_buffer, NULL,
|
||||||
max(_aux_frame_buffer->xsize, xsize),
|
max(_aux_frame_buffer->xsize, xsize),
|
||||||
max(_aux_frame_buffer->ysize, ysize));
|
max(_aux_frame_buffer->ysize, ysize));
|
||||||
}
|
}
|
||||||
@ -297,7 +301,7 @@ prepare_display_region(DisplayRegionPipelineReader *dr) {
|
|||||||
_c->viewport.ysize = ysize;
|
_c->viewport.ysize = ysize;
|
||||||
set_scissor(0.0f, 1.0f, 0.0f, 1.0f);
|
set_scissor(0.0f, 1.0f, 0.0f, 1.0f);
|
||||||
|
|
||||||
nassertv(xmin >= 0 && xmin < _c->zb->xsize &&
|
nassertv(xmin >= 0 && xmin < _c->zb->xsize &&
|
||||||
ymin >= 0 && ymin < _c->zb->ysize &&
|
ymin >= 0 && ymin < _c->zb->ysize &&
|
||||||
xmin + xsize >= 0 && xmin + xsize <= _c->zb->xsize &&
|
xmin + xsize >= 0 && xmin + xsize <= _c->zb->xsize &&
|
||||||
ymin + ysize >= 0 && ymin + ysize <= _c->zb->ysize);
|
ymin + ysize >= 0 && ymin + ysize <= _c->zb->ysize);
|
||||||
@ -736,7 +740,7 @@ begin_draw_primitives(const GeomPipelineReader *geom_reader,
|
|||||||
for (i = 0; i < num_used_vertices; ++i) {
|
for (i = 0; i < num_used_vertices; ++i) {
|
||||||
GLVertex *v = &_vertices[i];
|
GLVertex *v = &_vertices[i];
|
||||||
const LVecBase4 &d = rvertex.get_data4();
|
const LVecBase4 &d = rvertex.get_data4();
|
||||||
|
|
||||||
v->coord.v[0] = d[0];
|
v->coord.v[0] = d[0];
|
||||||
v->coord.v[1] = d[1];
|
v->coord.v[1] = d[1];
|
||||||
v->coord.v[2] = d[2];
|
v->coord.v[2] = d[2];
|
||||||
@ -755,7 +759,7 @@ begin_draw_primitives(const GeomPipelineReader *geom_reader,
|
|||||||
_c->current_color.v[1] = d[1] * s[1];
|
_c->current_color.v[1] = d[1] * s[1];
|
||||||
_c->current_color.v[2] = d[2] * s[2];
|
_c->current_color.v[2] = d[2] * s[2];
|
||||||
_c->current_color.v[3] = d[3] * s[3];
|
_c->current_color.v[3] = d[3] * s[3];
|
||||||
|
|
||||||
if (_color_material_flags) {
|
if (_color_material_flags) {
|
||||||
if (_color_material_flags & CMF_ambient) {
|
if (_color_material_flags & CMF_ambient) {
|
||||||
_c->materials[0].ambient = _c->current_color;
|
_c->materials[0].ambient = _c->current_color;
|
||||||
@ -794,6 +798,8 @@ begin_draw_primitives(const GeomPipelineReader *geom_reader,
|
|||||||
// Set up the appropriate function callback for filling triangles,
|
// Set up the appropriate function callback for filling triangles,
|
||||||
// according to the current state.
|
// according to the current state.
|
||||||
|
|
||||||
|
bool srgb_blend = _current_properties->get_srgb_color();
|
||||||
|
|
||||||
int depth_write_state = 0; // zon
|
int depth_write_state = 0; // zon
|
||||||
const DepthWriteAttrib *target_depth_write = DCAST(DepthWriteAttrib, _target_rs->get_attrib_def(DepthWriteAttrib::get_class_slot()));
|
const DepthWriteAttrib *target_depth_write = DCAST(DepthWriteAttrib, _target_rs->get_attrib_def(DepthWriteAttrib::get_class_slot()));
|
||||||
if (target_depth_write->get_mode() != DepthWriteAttrib::M_on) {
|
if (target_depth_write->get_mode() != DepthWriteAttrib::M_on) {
|
||||||
@ -805,11 +811,23 @@ begin_draw_primitives(const GeomPipelineReader *geom_reader,
|
|||||||
const ColorWriteAttrib *target_color_write = DCAST(ColorWriteAttrib, _target_rs->get_attrib_def(ColorWriteAttrib::get_class_slot()));
|
const ColorWriteAttrib *target_color_write = DCAST(ColorWriteAttrib, _target_rs->get_attrib_def(ColorWriteAttrib::get_class_slot()));
|
||||||
unsigned int color_channels =
|
unsigned int color_channels =
|
||||||
target_color_write->get_channels() & _color_write_mask;
|
target_color_write->get_channels() & _color_write_mask;
|
||||||
if (color_channels != ColorWriteAttrib::C_all) {
|
|
||||||
|
if (color_channels == ColorWriteAttrib::C_all) {
|
||||||
|
if (srgb_blend) {
|
||||||
|
color_write_state = 4; // csstore
|
||||||
|
} else {
|
||||||
|
color_write_state = 0; // cstore
|
||||||
|
}
|
||||||
|
} else {
|
||||||
// Implement a color mask.
|
// Implement a color mask.
|
||||||
int op_a = get_color_blend_op(ColorBlendAttrib::O_one);
|
int op_a = get_color_blend_op(ColorBlendAttrib::O_one);
|
||||||
int op_b = get_color_blend_op(ColorBlendAttrib::O_zero);
|
int op_b = get_color_blend_op(ColorBlendAttrib::O_zero);
|
||||||
_c->zb->store_pix_func = store_pixel_funcs[op_a][op_b][color_channels];
|
|
||||||
|
if (srgb_blend) {
|
||||||
|
_c->zb->store_pix_func = store_pixel_funcs_sRGB[op_a][op_b][color_channels];
|
||||||
|
} else {
|
||||||
|
_c->zb->store_pix_func = store_pixel_funcs[op_a][op_b][color_channels];
|
||||||
|
}
|
||||||
color_write_state = 2; // cgeneral
|
color_write_state = 2; // cgeneral
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -817,12 +835,22 @@ begin_draw_primitives(const GeomPipelineReader *geom_reader,
|
|||||||
switch (target_transparency->get_mode()) {
|
switch (target_transparency->get_mode()) {
|
||||||
case TransparencyAttrib::M_alpha:
|
case TransparencyAttrib::M_alpha:
|
||||||
case TransparencyAttrib::M_dual:
|
case TransparencyAttrib::M_dual:
|
||||||
color_write_state = 1; // cblend
|
if (color_channels == ColorWriteAttrib::C_all) {
|
||||||
if (color_channels != ColorWriteAttrib::C_all) {
|
if (srgb_blend) {
|
||||||
|
color_write_state = 5; // csblend
|
||||||
|
} else {
|
||||||
|
color_write_state = 1; // cblend
|
||||||
|
}
|
||||||
|
} else {
|
||||||
// Implement a color mask, with alpha blending.
|
// Implement a color mask, with alpha blending.
|
||||||
int op_a = get_color_blend_op(ColorBlendAttrib::O_incoming_alpha);
|
int op_a = get_color_blend_op(ColorBlendAttrib::O_incoming_alpha);
|
||||||
int op_b = get_color_blend_op(ColorBlendAttrib::O_one_minus_incoming_alpha);
|
int op_b = get_color_blend_op(ColorBlendAttrib::O_one_minus_incoming_alpha);
|
||||||
_c->zb->store_pix_func = store_pixel_funcs[op_a][op_b][color_channels];
|
|
||||||
|
if (srgb_blend) {
|
||||||
|
_c->zb->store_pix_func = store_pixel_funcs_sRGB[op_a][op_b][color_channels];
|
||||||
|
} else {
|
||||||
|
_c->zb->store_pix_func = store_pixel_funcs[op_a][op_b][color_channels];
|
||||||
|
}
|
||||||
color_write_state = 2; // cgeneral
|
color_write_state = 2; // cgeneral
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -835,15 +863,20 @@ begin_draw_primitives(const GeomPipelineReader *geom_reader,
|
|||||||
if (target_color_blend->get_mode() == ColorBlendAttrib::M_add) {
|
if (target_color_blend->get_mode() == ColorBlendAttrib::M_add) {
|
||||||
// If we have a color blend set that we can support, it overrides
|
// If we have a color blend set that we can support, it overrides
|
||||||
// the transparency set.
|
// the transparency set.
|
||||||
int op_a = get_color_blend_op(target_color_blend->get_operand_a());
|
|
||||||
int op_b = get_color_blend_op(target_color_blend->get_operand_b());
|
|
||||||
_c->zb->store_pix_func = store_pixel_funcs[op_a][op_b][color_channels];
|
|
||||||
LColor c = target_color_blend->get_color();
|
LColor c = target_color_blend->get_color();
|
||||||
_c->zb->blend_r = (int)(c[0] * ZB_POINT_RED_MAX);
|
_c->zb->blend_r = (int)(c[0] * ZB_POINT_RED_MAX);
|
||||||
_c->zb->blend_g = (int)(c[1] * ZB_POINT_GREEN_MAX);
|
_c->zb->blend_g = (int)(c[1] * ZB_POINT_GREEN_MAX);
|
||||||
_c->zb->blend_b = (int)(c[2] * ZB_POINT_BLUE_MAX);
|
_c->zb->blend_b = (int)(c[2] * ZB_POINT_BLUE_MAX);
|
||||||
_c->zb->blend_a = (int)(c[3] * ZB_POINT_ALPHA_MAX);
|
_c->zb->blend_a = (int)(c[3] * ZB_POINT_ALPHA_MAX);
|
||||||
|
|
||||||
|
int op_a = get_color_blend_op(target_color_blend->get_operand_a());
|
||||||
|
int op_b = get_color_blend_op(target_color_blend->get_operand_b());
|
||||||
|
|
||||||
|
if (srgb_blend) {
|
||||||
|
_c->zb->store_pix_func = store_pixel_funcs_sRGB[op_a][op_b][color_channels];
|
||||||
|
} else {
|
||||||
|
_c->zb->store_pix_func = store_pixel_funcs[op_a][op_b][color_channels];
|
||||||
|
}
|
||||||
color_write_state = 2; // cgeneral
|
color_write_state = 2; // cgeneral
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -882,7 +915,7 @@ begin_draw_primitives(const GeomPipelineReader *geom_reader,
|
|||||||
depth_test_state = 0; // zless
|
depth_test_state = 0; // zless
|
||||||
_c->depth_test = 0;
|
_c->depth_test = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
const ShadeModelAttrib *target_shade_model = DCAST(ShadeModelAttrib, _target_rs->get_attrib_def(ShadeModelAttrib::get_class_slot()));
|
const ShadeModelAttrib *target_shade_model = DCAST(ShadeModelAttrib, _target_rs->get_attrib_def(ShadeModelAttrib::get_class_slot()));
|
||||||
ShadeModelAttrib::Mode shade_model = target_shade_model->get_mode();
|
ShadeModelAttrib::Mode shade_model = target_shade_model->get_mode();
|
||||||
if (!needs_normal && !needs_color) {
|
if (!needs_normal && !needs_color) {
|
||||||
@ -939,7 +972,7 @@ begin_draw_primitives(const GeomPipelineReader *geom_reader,
|
|||||||
pixel_count_smooth_multitex2 = 0;
|
pixel_count_smooth_multitex2 = 0;
|
||||||
pixel_count_smooth_multitex3 = 0;
|
pixel_count_smooth_multitex3 = 0;
|
||||||
#endif // DO_PSTATS
|
#endif // DO_PSTATS
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -130,7 +130,7 @@ ZB_resize(ZBuffer * zb, void *frame_buffer, int xsize, int ysize) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
ZB_copyBuffer(const ZBuffer * zb,
|
ZB_copyBuffer(const ZBuffer * zb,
|
||||||
void *buf,
|
void *buf,
|
||||||
int linesize) {
|
int linesize) {
|
||||||
@ -210,7 +210,7 @@ static void ZB_copyFrameBufferRGB24(const ZBuffer * zb,
|
|||||||
int y, n;
|
int y, n;
|
||||||
|
|
||||||
fprintf(stderr, "copyFrameBufferRGB24\n");
|
fprintf(stderr, "copyFrameBufferRGB24\n");
|
||||||
|
|
||||||
q = zb->pbuf;
|
q = zb->pbuf;
|
||||||
p1 = (unsigned char *) buf;
|
p1 = (unsigned char *) buf;
|
||||||
|
|
||||||
@ -282,12 +282,12 @@ void ZB_zoomFrameBuffer(ZBuffer *dest, int dest_xmin, int dest_ymin, int dest_xs
|
|||||||
const ZBuffer *source, int source_xmin, int source_ymin, int source_xsize, int source_ysize) {
|
const ZBuffer *source, int source_xmin, int source_ymin, int source_xsize, int source_ysize) {
|
||||||
int tyinc = dest->linesize / PSZB;
|
int tyinc = dest->linesize / PSZB;
|
||||||
int fyinc = source->linesize / PSZB;
|
int fyinc = source->linesize / PSZB;
|
||||||
|
|
||||||
int fyt = 0;
|
int fyt = 0;
|
||||||
for (int ty = 0; ty < dest_ysize; ++ty) {
|
for (int ty = 0; ty < dest_ysize; ++ty) {
|
||||||
int fy = fyt / dest_ysize;
|
int fy = fyt / dest_ysize;
|
||||||
fyt += source_ysize;
|
fyt += source_ysize;
|
||||||
|
|
||||||
PIXEL *tp = dest->pbuf + dest_xmin + (dest_ymin + ty) * tyinc;
|
PIXEL *tp = dest->pbuf + dest_xmin + (dest_ymin + ty) * tyinc;
|
||||||
PIXEL *fp = source->pbuf + source_xmin + (source_ymin + fy) * fyinc;
|
PIXEL *fp = source->pbuf + source_xmin + (source_ymin + fy) * fyinc;
|
||||||
ZPOINT *tz = dest->zbuf + dest_xmin + (dest_ymin + ty) * dest->xsize;
|
ZPOINT *tz = dest->zbuf + dest_xmin + (dest_ymin + ty) * dest->xsize;
|
||||||
@ -296,7 +296,7 @@ void ZB_zoomFrameBuffer(ZBuffer *dest, int dest_xmin, int dest_ymin, int dest_xs
|
|||||||
for (int tx = 0; tx < dest_xsize; ++tx) {
|
for (int tx = 0; tx < dest_xsize; ++tx) {
|
||||||
int fx = fxt / dest_xsize;
|
int fx = fxt / dest_xsize;
|
||||||
fxt += source_xsize;
|
fxt += source_xsize;
|
||||||
|
|
||||||
tp[tx] = fp[fx];
|
tp[tx] = fp[fx];
|
||||||
tz[tx] = fz[fx];
|
tz[tx] = fz[fx];
|
||||||
}
|
}
|
||||||
@ -384,17 +384,14 @@ memset_RGB24(void *adr,int r, int v, int b,long count) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
ZB_clear(ZBuffer * zb, int clear_z, ZPOINT z,
|
ZB_clear(ZBuffer * zb, int clear_z, ZPOINT z, int clear_color, PIXEL color) {
|
||||||
int clear_color, unsigned int r, unsigned int g, unsigned int b, unsigned int a) {
|
|
||||||
unsigned int color;
|
|
||||||
int y;
|
int y;
|
||||||
PIXEL *pp;
|
PIXEL *pp;
|
||||||
|
|
||||||
if (clear_z) {
|
if (clear_z) {
|
||||||
memset(zb->zbuf, 0, zb->xsize * zb->ysize * sizeof(ZPOINT));
|
memset(zb->zbuf, 0, zb->xsize * zb->ysize * sizeof(ZPOINT));
|
||||||
}
|
}
|
||||||
if (clear_color) {
|
if (clear_color) {
|
||||||
color = RGBA_TO_PIXEL(r, g, b, a);
|
|
||||||
pp = zb->pbuf;
|
pp = zb->pbuf;
|
||||||
for (y = 0; y < zb->ysize; y++) {
|
for (y = 0; y < zb->ysize; y++) {
|
||||||
memset_l(pp, color, zb->xsize);
|
memset_l(pp, color, zb->xsize);
|
||||||
@ -404,15 +401,13 @@ ZB_clear(ZBuffer * zb, int clear_z, ZPOINT z,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
ZB_clear_viewport(ZBuffer * zb, int clear_z, ZPOINT z,
|
ZB_clear_viewport(ZBuffer * zb, int clear_z, ZPOINT z, int clear_color, PIXEL color,
|
||||||
int clear_color, unsigned int r, unsigned int g, unsigned int b, unsigned int a,
|
|
||||||
int xmin, int ymin, int xsize, int ysize) {
|
int xmin, int ymin, int xsize, int ysize) {
|
||||||
unsigned int color;
|
|
||||||
int y;
|
int y;
|
||||||
PIXEL *pp;
|
PIXEL *pp;
|
||||||
ZPOINT *zz;
|
ZPOINT *zz;
|
||||||
|
|
||||||
nassertv(xmin >= 0 && xmin < zb->xsize &&
|
nassertv(xmin >= 0 && xmin < zb->xsize &&
|
||||||
ymin >= 0 && ymin < zb->ysize &&
|
ymin >= 0 && ymin < zb->ysize &&
|
||||||
xmin + xsize >= 0 && xmin + xsize <= zb->xsize &&
|
xmin + xsize >= 0 && xmin + xsize <= zb->xsize &&
|
||||||
ymin + ysize >= 0 && ymin + ysize <= zb->ysize);
|
ymin + ysize >= 0 && ymin + ysize <= zb->ysize);
|
||||||
@ -425,7 +420,6 @@ ZB_clear_viewport(ZBuffer * zb, int clear_z, ZPOINT z,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (clear_color) {
|
if (clear_color) {
|
||||||
color = RGBA_TO_PIXEL(r, g, b, a);
|
|
||||||
pp = zb->pbuf + xmin + ymin * (zb->linesize / PSZB);
|
pp = zb->pbuf + xmin + ymin * (zb->linesize / PSZB);
|
||||||
for (y = 0; y < ysize; ++y) {
|
for (y = 0; y < ysize; ++y) {
|
||||||
memset_l(pp, color, xsize);
|
memset_l(pp, color, xsize);
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
#include "zfeatures.h"
|
#include "zfeatures.h"
|
||||||
#include "pbitops.h"
|
#include "pbitops.h"
|
||||||
|
#include "srgb_tables.h"
|
||||||
|
|
||||||
typedef unsigned int ZPOINT;
|
typedef unsigned int ZPOINT;
|
||||||
#define ZB_Z_BITS 20
|
#define ZB_Z_BITS 20
|
||||||
@ -72,10 +73,19 @@ typedef unsigned int ZPOINT;
|
|||||||
((((unsigned int)(a) << 16) & 0xff000000) | (((unsigned int)(r) << 8) & 0xff0000) | ((unsigned int)(g) & 0xff00) | ((unsigned int)(b) >> 8))
|
((((unsigned int)(a) << 16) & 0xff000000) | (((unsigned int)(r) << 8) & 0xff0000) | ((unsigned int)(g) & 0xff00) | ((unsigned int)(b) >> 8))
|
||||||
#define RGBA8_TO_PIXEL(r,g,b,a) \
|
#define RGBA8_TO_PIXEL(r,g,b,a) \
|
||||||
((((unsigned int)(a) << 24) & 0xff000000) | (((unsigned int)(r) << 16) & 0xff0000) | (((unsigned int)(g) << 8) & 0xff00) | (unsigned int)(b))
|
((((unsigned int)(a) << 24) & 0xff000000) | (((unsigned int)(r) << 16) & 0xff0000) | (((unsigned int)(g) << 8) & 0xff00) | (unsigned int)(b))
|
||||||
|
|
||||||
|
#define SRGB_TO_PIXEL(r,g,b) \
|
||||||
|
((encode_sRGB[(unsigned int)(r) >> 4] << 16) | (encode_sRGB10[(unsigned int)(g) >> 4] << 8) | (encode_sRGB[(unsigned int)(b) >> 4]))
|
||||||
|
#define SRGBA_TO_PIXEL(r,g,b,a) \
|
||||||
|
((((unsigned int)(a) << 16) & 0xff000000) | (encode_sRGB[(unsigned int)(r) >> 4] << 16) | (encode_sRGB[(unsigned int)(g) >> 4] << 8) | (encode_sRGB[(unsigned int)(b) >> 4]))
|
||||||
|
|
||||||
#define PIXEL_R(p) (((unsigned int)(p) & 0xff0000) >> 8)
|
#define PIXEL_R(p) (((unsigned int)(p) & 0xff0000) >> 8)
|
||||||
#define PIXEL_G(p) ((unsigned int)(p) & 0xff00)
|
#define PIXEL_G(p) ((unsigned int)(p) & 0xff00)
|
||||||
#define PIXEL_B(p) (((unsigned int)(p) & 0x00ff) << 8)
|
#define PIXEL_B(p) (((unsigned int)(p) & 0x00ff) << 8)
|
||||||
#define PIXEL_A(p) (((unsigned int)(p) & 0xff000000) >> 16)
|
#define PIXEL_A(p) (((unsigned int)(p) & 0xff000000) >> 16)
|
||||||
|
#define PIXEL_SR(p) (decode_sRGB[((unsigned int)(p) & 0xff0000) >> 16])
|
||||||
|
#define PIXEL_SG(p) (decode_sRGB[((unsigned int)(p) & 0xff00) >> 8])
|
||||||
|
#define PIXEL_SB(p) (decode_sRGB[((unsigned int)(p) & 0x00ff)])
|
||||||
typedef unsigned int PIXEL;
|
typedef unsigned int PIXEL;
|
||||||
#define PSZB 4
|
#define PSZB 4
|
||||||
#define PSZSH 5
|
#define PSZSH 5
|
||||||
@ -97,13 +107,24 @@ typedef unsigned int PIXEL;
|
|||||||
#define PCOMPONENT_BLEND(c1, c2, a2) \
|
#define PCOMPONENT_BLEND(c1, c2, a2) \
|
||||||
((((unsigned int)(c1) * ((unsigned int)0xffff - (unsigned int)(a2)) + (unsigned int)(c2) * (unsigned int)(a2))) >> 16)
|
((((unsigned int)(c1) * ((unsigned int)0xffff - (unsigned int)(a2)) + (unsigned int)(c2) * (unsigned int)(a2))) >> 16)
|
||||||
|
|
||||||
#define PIXEL_BLEND(r1, g1, b1, r2, g2, b2, a2) \
|
#define _BLEND_RGB(r1, g1, b1, r2, g2, b2, a2) \
|
||||||
RGBA_TO_PIXEL(PCOMPONENT_BLEND(r1, r2, a2), \
|
RGBA_TO_PIXEL(PCOMPONENT_BLEND(r1, r2, a2), \
|
||||||
PCOMPONENT_BLEND(g1, g2, a2), \
|
PCOMPONENT_BLEND(g1, g2, a2), \
|
||||||
PCOMPONENT_BLEND(b1, b2, a2), \
|
PCOMPONENT_BLEND(b1, b2, a2), \
|
||||||
a2)
|
a2)
|
||||||
|
|
||||||
|
#define _BLEND_SRGB(r1, g1, b1, r2, g2, b2, a2) \
|
||||||
|
SRGBA_TO_PIXEL(PCOMPONENT_BLEND(r1, r2, a2), \
|
||||||
|
PCOMPONENT_BLEND(g1, g2, a2), \
|
||||||
|
PCOMPONENT_BLEND(b1, b2, a2), \
|
||||||
|
a2)
|
||||||
|
|
||||||
#define PIXEL_BLEND_RGB(rgb, r, g, b, a) \
|
#define PIXEL_BLEND_RGB(rgb, r, g, b, a) \
|
||||||
PIXEL_BLEND(PIXEL_R(rgb), PIXEL_G(rgb), PIXEL_B(rgb), r, g, b, a)
|
_BLEND_RGB(PIXEL_R(rgb), PIXEL_G(rgb), PIXEL_B(rgb), r, g, b, a)
|
||||||
|
|
||||||
|
#define PIXEL_BLEND_SRGB(rgb, r, g, b, a) \
|
||||||
|
_BLEND_SRGB(PIXEL_SR(rgb), PIXEL_SG(rgb), PIXEL_SB(rgb), r, g, b, a)
|
||||||
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
PIXEL *pixmap;
|
PIXEL *pixmap;
|
||||||
@ -120,7 +141,7 @@ typedef void (*ZB_storePixelFunc)(ZBuffer *zb, PIXEL &result, int r, int g, int
|
|||||||
|
|
||||||
typedef PIXEL (*ZB_lookupTextureFunc)(ZTextureDef *texture_def, int s, int t, unsigned int level, unsigned int level_dx);
|
typedef PIXEL (*ZB_lookupTextureFunc)(ZTextureDef *texture_def, int s, int t, unsigned int level, unsigned int level_dx);
|
||||||
|
|
||||||
typedef int (*ZB_texWrapFunc)(int coord, int max_coord);
|
typedef int (*ZB_texWrapFunc)(int coord, int max_coord);
|
||||||
|
|
||||||
struct ZTextureDef {
|
struct ZTextureDef {
|
||||||
ZTextureLevel *levels;
|
ZTextureLevel *levels;
|
||||||
@ -138,11 +159,11 @@ struct ZBuffer {
|
|||||||
int xsize,ysize;
|
int xsize,ysize;
|
||||||
int linesize; /* line size, in bytes */
|
int linesize; /* line size, in bytes */
|
||||||
int mode;
|
int mode;
|
||||||
|
|
||||||
ZPOINT *zbuf;
|
ZPOINT *zbuf;
|
||||||
PIXEL *pbuf;
|
PIXEL *pbuf;
|
||||||
int frame_buffer_allocated;
|
int frame_buffer_allocated;
|
||||||
|
|
||||||
int nb_colors;
|
int nb_colors;
|
||||||
unsigned char *dctable;
|
unsigned char *dctable;
|
||||||
int *ctable;
|
int *ctable;
|
||||||
@ -156,14 +177,14 @@ struct ZBufferPoint {
|
|||||||
int x,y,z; /* integer coordinates in the zbuffer */
|
int x,y,z; /* integer coordinates in the zbuffer */
|
||||||
int s,t; /* coordinates for the mapping */
|
int s,t; /* coordinates for the mapping */
|
||||||
int r,g,b,a; /* color indexes */
|
int r,g,b,a; /* color indexes */
|
||||||
|
|
||||||
PN_stdfloat sz,tz; /* temporary coordinates for mapping */
|
PN_stdfloat sz,tz; /* temporary coordinates for mapping */
|
||||||
|
|
||||||
int sa, ta; /* mapping coordinates for optional second texture stage */
|
int sa, ta; /* mapping coordinates for optional second texture stage */
|
||||||
PN_stdfloat sza,tza;
|
PN_stdfloat sza,tza;
|
||||||
|
|
||||||
int sb, tb; /* mapping coordinates for optional third texture stage */
|
int sb, tb; /* mapping coordinates for optional third texture stage */
|
||||||
PN_stdfloat szb,tzb;
|
PN_stdfloat szb,tzb;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* zbuffer.c */
|
/* zbuffer.c */
|
||||||
@ -200,10 +221,8 @@ ZBuffer *ZB_open(int xsize,int ysize,int mode,
|
|||||||
void ZB_close(ZBuffer *zb);
|
void ZB_close(ZBuffer *zb);
|
||||||
|
|
||||||
void ZB_resize(ZBuffer *zb,void *frame_buffer,int xsize,int ysize);
|
void ZB_resize(ZBuffer *zb,void *frame_buffer,int xsize,int ysize);
|
||||||
void ZB_clear(ZBuffer *zb, int clear_z, ZPOINT z,
|
void ZB_clear(ZBuffer *zb, int clear_z, ZPOINT z, int clear_color, PIXEL color);
|
||||||
int clear_color, unsigned int r, unsigned int g, unsigned int b, unsigned int a);
|
void ZB_clear_viewport(ZBuffer * zb, int clear_z, ZPOINT z, int clear_color, PIXEL color,
|
||||||
void ZB_clear_viewport(ZBuffer * zb, int clear_z, ZPOINT z,
|
|
||||||
int clear_color, unsigned int r, unsigned int g, unsigned int b, unsigned int a,
|
|
||||||
int xmin, int ymin, int xsize, int ysize);
|
int xmin, int ymin, int xsize, int ysize);
|
||||||
|
|
||||||
PIXEL lookup_texture_nearest(ZTextureDef *texture_def, int s, int t, unsigned int level, unsigned int level_dx);
|
PIXEL lookup_texture_nearest(ZTextureDef *texture_def, int s, int t, unsigned int level, unsigned int level_dx);
|
||||||
|
@ -20,7 +20,7 @@ Options = [
|
|||||||
[ 'zon', 'zoff' ],
|
[ 'zon', 'zoff' ],
|
||||||
|
|
||||||
# color write
|
# color write
|
||||||
[ 'cstore', 'cblend', 'cgeneral', 'coff' ],
|
[ 'cstore', 'cblend', 'cgeneral', 'coff', 'csstore', 'csblend' ],
|
||||||
|
|
||||||
# alpha test
|
# alpha test
|
||||||
[ 'anone', 'aless', 'amore' ],
|
[ 'anone', 'aless', 'amore' ],
|
||||||
@ -64,6 +64,10 @@ CodeTable = {
|
|||||||
'cgeneral' : '#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)',
|
'cgeneral' : '#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)',
|
||||||
'coff' : '#define STORE_PIX(pix, rgb, r, g, b, a)',
|
'coff' : '#define STORE_PIX(pix, rgb, r, g, b, a)',
|
||||||
|
|
||||||
|
# color write, sRGB
|
||||||
|
'csstore' : '#define STORE_PIX(pix, rgb, r, g, b, a) (pix) = SRGBA_TO_PIXEL(r, g, b, a)',
|
||||||
|
'csblend' : '#define STORE_PIX(pix, rgb, r, g, b, a) (pix) = PIXEL_BLEND_SRGB(pix, r, g, b, a)',
|
||||||
|
|
||||||
# alpha test
|
# alpha test
|
||||||
'anone' : '#define ACMP(zb, a) 1',
|
'anone' : '#define ACMP(zb, a) 1',
|
||||||
'aless' : '#define ACMP(zb, a) (((int)(a)) < (zb)->reference_alpha)',
|
'aless' : '#define ACMP(zb, a) (((int)(a)) < (zb)->reference_alpha)',
|
||||||
@ -264,6 +268,3 @@ print >> table_decl, 'extern const ZB_fillTriangleFunc fill_tri_funcs%s;' % (arr
|
|||||||
writeTableEntry([])
|
writeTableEntry([])
|
||||||
print >> table_def, '};'
|
print >> table_def, '};'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -348,8 +348,182 @@
|
|||||||
#define FNAME(name) FB_triangle_zon_cblend_amore_zless_tgeneral_ ## name
|
#define FNAME(name) FB_triangle_zon_cblend_amore_zless_tgeneral_ ## name
|
||||||
#include "ztriangle_two.h"
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z) (zpix) = (z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) 1
|
||||||
|
#define ZCMP(zpix, z) 1
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ZB_LOOKUP_TEXTURE_NEAREST(texture_def, s, t)
|
||||||
|
#define FNAME(name) FB_triangle_zon_cgeneral_anone_znone_tnearest_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
ZB_fillTriangleFunc ztriangle_code_1[540] = {
|
#define STORE_Z(zpix, z) (zpix) = (z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) 1
|
||||||
|
#define ZCMP(zpix, z) 1
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx) DO_CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define INTERP_MIPMAP
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ZB_LOOKUP_TEXTURE_MIPMAP_NEAREST(texture_def, s, t, level)
|
||||||
|
#define FNAME(name) FB_triangle_zon_cgeneral_anone_znone_tmipmap_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z) (zpix) = (z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) 1
|
||||||
|
#define ZCMP(zpix, z) 1
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx) DO_CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define INTERP_MIPMAP
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ((level == 0) ? (texture_def)->tex_magfilter_func(texture_def, s, t, level, level_dx) : (texture_def)->tex_minfilter_func(texture_def, s, t, level, level_dx))
|
||||||
|
#define FNAME(name) FB_triangle_zon_cgeneral_anone_znone_tgeneral_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z) (zpix) = (z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) 1
|
||||||
|
#define ZCMP(zpix, z) ((ZPOINT)(zpix) < (ZPOINT)(z))
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ZB_LOOKUP_TEXTURE_NEAREST(texture_def, s, t)
|
||||||
|
#define FNAME(name) FB_triangle_zon_cgeneral_anone_zless_tnearest_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z) (zpix) = (z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) 1
|
||||||
|
#define ZCMP(zpix, z) ((ZPOINT)(zpix) < (ZPOINT)(z))
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx) DO_CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define INTERP_MIPMAP
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ZB_LOOKUP_TEXTURE_MIPMAP_NEAREST(texture_def, s, t, level)
|
||||||
|
#define FNAME(name) FB_triangle_zon_cgeneral_anone_zless_tmipmap_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z) (zpix) = (z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) 1
|
||||||
|
#define ZCMP(zpix, z) ((ZPOINT)(zpix) < (ZPOINT)(z))
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx) DO_CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define INTERP_MIPMAP
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ((level == 0) ? (texture_def)->tex_magfilter_func(texture_def, s, t, level, level_dx) : (texture_def)->tex_minfilter_func(texture_def, s, t, level, level_dx))
|
||||||
|
#define FNAME(name) FB_triangle_zon_cgeneral_anone_zless_tgeneral_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z) (zpix) = (z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) (((int)(a)) < (zb)->reference_alpha)
|
||||||
|
#define ZCMP(zpix, z) 1
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ZB_LOOKUP_TEXTURE_NEAREST(texture_def, s, t)
|
||||||
|
#define FNAME(name) FB_triangle_zon_cgeneral_aless_znone_tnearest_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z) (zpix) = (z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) (((int)(a)) < (zb)->reference_alpha)
|
||||||
|
#define ZCMP(zpix, z) 1
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx) DO_CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define INTERP_MIPMAP
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ZB_LOOKUP_TEXTURE_MIPMAP_NEAREST(texture_def, s, t, level)
|
||||||
|
#define FNAME(name) FB_triangle_zon_cgeneral_aless_znone_tmipmap_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z) (zpix) = (z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) (((int)(a)) < (zb)->reference_alpha)
|
||||||
|
#define ZCMP(zpix, z) 1
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx) DO_CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define INTERP_MIPMAP
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ((level == 0) ? (texture_def)->tex_magfilter_func(texture_def, s, t, level, level_dx) : (texture_def)->tex_minfilter_func(texture_def, s, t, level, level_dx))
|
||||||
|
#define FNAME(name) FB_triangle_zon_cgeneral_aless_znone_tgeneral_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z) (zpix) = (z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) (((int)(a)) < (zb)->reference_alpha)
|
||||||
|
#define ZCMP(zpix, z) ((ZPOINT)(zpix) < (ZPOINT)(z))
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ZB_LOOKUP_TEXTURE_NEAREST(texture_def, s, t)
|
||||||
|
#define FNAME(name) FB_triangle_zon_cgeneral_aless_zless_tnearest_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z) (zpix) = (z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) (((int)(a)) < (zb)->reference_alpha)
|
||||||
|
#define ZCMP(zpix, z) ((ZPOINT)(zpix) < (ZPOINT)(z))
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx) DO_CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define INTERP_MIPMAP
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ZB_LOOKUP_TEXTURE_MIPMAP_NEAREST(texture_def, s, t, level)
|
||||||
|
#define FNAME(name) FB_triangle_zon_cgeneral_aless_zless_tmipmap_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z) (zpix) = (z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) (((int)(a)) < (zb)->reference_alpha)
|
||||||
|
#define ZCMP(zpix, z) ((ZPOINT)(zpix) < (ZPOINT)(z))
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx) DO_CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define INTERP_MIPMAP
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ((level == 0) ? (texture_def)->tex_magfilter_func(texture_def, s, t, level, level_dx) : (texture_def)->tex_minfilter_func(texture_def, s, t, level, level_dx))
|
||||||
|
#define FNAME(name) FB_triangle_zon_cgeneral_aless_zless_tgeneral_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z) (zpix) = (z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) (((int)(a)) > (zb)->reference_alpha)
|
||||||
|
#define ZCMP(zpix, z) 1
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ZB_LOOKUP_TEXTURE_NEAREST(texture_def, s, t)
|
||||||
|
#define FNAME(name) FB_triangle_zon_cgeneral_amore_znone_tnearest_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z) (zpix) = (z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) (((int)(a)) > (zb)->reference_alpha)
|
||||||
|
#define ZCMP(zpix, z) 1
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx) DO_CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define INTERP_MIPMAP
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ZB_LOOKUP_TEXTURE_MIPMAP_NEAREST(texture_def, s, t, level)
|
||||||
|
#define FNAME(name) FB_triangle_zon_cgeneral_amore_znone_tmipmap_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z) (zpix) = (z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) (((int)(a)) > (zb)->reference_alpha)
|
||||||
|
#define ZCMP(zpix, z) 1
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx) DO_CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define INTERP_MIPMAP
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ((level == 0) ? (texture_def)->tex_magfilter_func(texture_def, s, t, level, level_dx) : (texture_def)->tex_minfilter_func(texture_def, s, t, level, level_dx))
|
||||||
|
#define FNAME(name) FB_triangle_zon_cgeneral_amore_znone_tgeneral_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z) (zpix) = (z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) (((int)(a)) > (zb)->reference_alpha)
|
||||||
|
#define ZCMP(zpix, z) ((ZPOINT)(zpix) < (ZPOINT)(z))
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ZB_LOOKUP_TEXTURE_NEAREST(texture_def, s, t)
|
||||||
|
#define FNAME(name) FB_triangle_zon_cgeneral_amore_zless_tnearest_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z) (zpix) = (z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) (((int)(a)) > (zb)->reference_alpha)
|
||||||
|
#define ZCMP(zpix, z) ((ZPOINT)(zpix) < (ZPOINT)(z))
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx) DO_CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define INTERP_MIPMAP
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ZB_LOOKUP_TEXTURE_MIPMAP_NEAREST(texture_def, s, t, level)
|
||||||
|
#define FNAME(name) FB_triangle_zon_cgeneral_amore_zless_tmipmap_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z) (zpix) = (z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) (((int)(a)) > (zb)->reference_alpha)
|
||||||
|
#define ZCMP(zpix, z) ((ZPOINT)(zpix) < (ZPOINT)(z))
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx) DO_CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define INTERP_MIPMAP
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ((level == 0) ? (texture_def)->tex_magfilter_func(texture_def, s, t, level, level_dx) : (texture_def)->tex_minfilter_func(texture_def, s, t, level, level_dx))
|
||||||
|
#define FNAME(name) FB_triangle_zon_cgeneral_amore_zless_tgeneral_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
|
||||||
|
ZB_fillTriangleFunc ztriangle_code_1[810] = {
|
||||||
FB_triangle_zon_cstore_anone_znone_tnearest_white_untextured,
|
FB_triangle_zon_cstore_anone_znone_tnearest_white_untextured,
|
||||||
FB_triangle_zon_cstore_anone_znone_tnearest_white_textured,
|
FB_triangle_zon_cstore_anone_znone_tnearest_white_textured,
|
||||||
FB_triangle_zon_cstore_anone_znone_tnearest_white_perspective,
|
FB_triangle_zon_cstore_anone_znone_tnearest_white_perspective,
|
||||||
@ -890,4 +1064,274 @@ ZB_fillTriangleFunc ztriangle_code_1[540] = {
|
|||||||
FB_triangle_zon_cblend_amore_zless_tgeneral_smooth_perspective,
|
FB_triangle_zon_cblend_amore_zless_tgeneral_smooth_perspective,
|
||||||
FB_triangle_zon_cblend_amore_zless_tgeneral_smooth_multitex2,
|
FB_triangle_zon_cblend_amore_zless_tgeneral_smooth_multitex2,
|
||||||
FB_triangle_zon_cblend_amore_zless_tgeneral_smooth_multitex3,
|
FB_triangle_zon_cblend_amore_zless_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tnearest_white_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tnearest_white_textured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tnearest_white_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tnearest_flat_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tnearest_flat_textured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tnearest_flat_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tnearest_smooth_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tnearest_smooth_textured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tnearest_smooth_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tmipmap_white_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tmipmap_white_textured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tmipmap_white_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tmipmap_flat_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tmipmap_flat_textured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tmipmap_flat_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tmipmap_smooth_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tmipmap_smooth_textured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tmipmap_smooth_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tgeneral_white_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tgeneral_white_textured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tgeneral_white_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tgeneral_flat_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tgeneral_flat_textured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tgeneral_flat_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tgeneral_smooth_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tgeneral_smooth_textured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tgeneral_smooth_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_anone_znone_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tnearest_white_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tnearest_white_textured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tnearest_white_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tnearest_flat_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tnearest_flat_textured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tnearest_flat_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tnearest_smooth_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tnearest_smooth_textured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tnearest_smooth_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tmipmap_white_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tmipmap_white_textured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tmipmap_white_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tmipmap_flat_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tmipmap_flat_textured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tmipmap_flat_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tmipmap_smooth_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tmipmap_smooth_textured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tmipmap_smooth_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tgeneral_white_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tgeneral_white_textured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tgeneral_white_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tgeneral_flat_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tgeneral_flat_textured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tgeneral_flat_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tgeneral_smooth_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tgeneral_smooth_textured,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tgeneral_smooth_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_anone_zless_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tnearest_white_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tnearest_white_textured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tnearest_white_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tnearest_flat_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tnearest_flat_textured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tnearest_flat_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tnearest_smooth_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tnearest_smooth_textured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tnearest_smooth_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tmipmap_white_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tmipmap_white_textured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tmipmap_white_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tmipmap_flat_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tmipmap_flat_textured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tmipmap_flat_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tmipmap_smooth_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tmipmap_smooth_textured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tmipmap_smooth_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tgeneral_white_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tgeneral_white_textured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tgeneral_white_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tgeneral_flat_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tgeneral_flat_textured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tgeneral_flat_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tgeneral_smooth_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tgeneral_smooth_textured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tgeneral_smooth_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_aless_znone_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tnearest_white_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tnearest_white_textured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tnearest_white_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tnearest_flat_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tnearest_flat_textured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tnearest_flat_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tnearest_smooth_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tnearest_smooth_textured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tnearest_smooth_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tmipmap_white_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tmipmap_white_textured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tmipmap_white_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tmipmap_flat_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tmipmap_flat_textured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tmipmap_flat_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tmipmap_smooth_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tmipmap_smooth_textured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tmipmap_smooth_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tgeneral_white_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tgeneral_white_textured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tgeneral_white_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tgeneral_flat_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tgeneral_flat_textured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tgeneral_flat_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tgeneral_smooth_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tgeneral_smooth_textured,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tgeneral_smooth_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_aless_zless_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tnearest_white_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tnearest_white_textured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tnearest_white_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tnearest_flat_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tnearest_flat_textured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tnearest_flat_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tnearest_smooth_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tnearest_smooth_textured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tnearest_smooth_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tmipmap_white_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tmipmap_white_textured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tmipmap_white_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tmipmap_flat_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tmipmap_flat_textured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tmipmap_flat_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tmipmap_smooth_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tmipmap_smooth_textured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tmipmap_smooth_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tgeneral_white_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tgeneral_white_textured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tgeneral_white_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tgeneral_flat_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tgeneral_flat_textured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tgeneral_flat_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tgeneral_smooth_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tgeneral_smooth_textured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tgeneral_smooth_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_amore_znone_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tnearest_white_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tnearest_white_textured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tnearest_white_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tnearest_flat_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tnearest_flat_textured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tnearest_flat_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tnearest_smooth_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tnearest_smooth_textured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tnearest_smooth_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tmipmap_white_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tmipmap_white_textured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tmipmap_white_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tmipmap_flat_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tmipmap_flat_textured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tmipmap_flat_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tmipmap_smooth_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tmipmap_smooth_textured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tmipmap_smooth_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tgeneral_white_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tgeneral_white_textured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tgeneral_white_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tgeneral_flat_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tgeneral_flat_textured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tgeneral_flat_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tgeneral_smooth_untextured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tgeneral_smooth_textured,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tgeneral_smooth_perspective,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zon_cgeneral_amore_zless_tgeneral_smooth_multitex3,
|
||||||
};
|
};
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -348,8 +348,182 @@
|
|||||||
#define FNAME(name) FB_triangle_zoff_cblend_amore_zless_tgeneral_ ## name
|
#define FNAME(name) FB_triangle_zoff_cblend_amore_zless_tgeneral_ ## name
|
||||||
#include "ztriangle_two.h"
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) 1
|
||||||
|
#define ZCMP(zpix, z) 1
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ZB_LOOKUP_TEXTURE_NEAREST(texture_def, s, t)
|
||||||
|
#define FNAME(name) FB_triangle_zoff_cgeneral_anone_znone_tnearest_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
ZB_fillTriangleFunc ztriangle_code_3[540] = {
|
#define STORE_Z(zpix, z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) 1
|
||||||
|
#define ZCMP(zpix, z) 1
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx) DO_CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define INTERP_MIPMAP
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ZB_LOOKUP_TEXTURE_MIPMAP_NEAREST(texture_def, s, t, level)
|
||||||
|
#define FNAME(name) FB_triangle_zoff_cgeneral_anone_znone_tmipmap_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) 1
|
||||||
|
#define ZCMP(zpix, z) 1
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx) DO_CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define INTERP_MIPMAP
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ((level == 0) ? (texture_def)->tex_magfilter_func(texture_def, s, t, level, level_dx) : (texture_def)->tex_minfilter_func(texture_def, s, t, level, level_dx))
|
||||||
|
#define FNAME(name) FB_triangle_zoff_cgeneral_anone_znone_tgeneral_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) 1
|
||||||
|
#define ZCMP(zpix, z) ((ZPOINT)(zpix) < (ZPOINT)(z))
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ZB_LOOKUP_TEXTURE_NEAREST(texture_def, s, t)
|
||||||
|
#define FNAME(name) FB_triangle_zoff_cgeneral_anone_zless_tnearest_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) 1
|
||||||
|
#define ZCMP(zpix, z) ((ZPOINT)(zpix) < (ZPOINT)(z))
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx) DO_CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define INTERP_MIPMAP
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ZB_LOOKUP_TEXTURE_MIPMAP_NEAREST(texture_def, s, t, level)
|
||||||
|
#define FNAME(name) FB_triangle_zoff_cgeneral_anone_zless_tmipmap_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) 1
|
||||||
|
#define ZCMP(zpix, z) ((ZPOINT)(zpix) < (ZPOINT)(z))
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx) DO_CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define INTERP_MIPMAP
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ((level == 0) ? (texture_def)->tex_magfilter_func(texture_def, s, t, level, level_dx) : (texture_def)->tex_minfilter_func(texture_def, s, t, level, level_dx))
|
||||||
|
#define FNAME(name) FB_triangle_zoff_cgeneral_anone_zless_tgeneral_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) (((int)(a)) < (zb)->reference_alpha)
|
||||||
|
#define ZCMP(zpix, z) 1
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ZB_LOOKUP_TEXTURE_NEAREST(texture_def, s, t)
|
||||||
|
#define FNAME(name) FB_triangle_zoff_cgeneral_aless_znone_tnearest_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) (((int)(a)) < (zb)->reference_alpha)
|
||||||
|
#define ZCMP(zpix, z) 1
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx) DO_CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define INTERP_MIPMAP
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ZB_LOOKUP_TEXTURE_MIPMAP_NEAREST(texture_def, s, t, level)
|
||||||
|
#define FNAME(name) FB_triangle_zoff_cgeneral_aless_znone_tmipmap_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) (((int)(a)) < (zb)->reference_alpha)
|
||||||
|
#define ZCMP(zpix, z) 1
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx) DO_CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define INTERP_MIPMAP
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ((level == 0) ? (texture_def)->tex_magfilter_func(texture_def, s, t, level, level_dx) : (texture_def)->tex_minfilter_func(texture_def, s, t, level, level_dx))
|
||||||
|
#define FNAME(name) FB_triangle_zoff_cgeneral_aless_znone_tgeneral_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) (((int)(a)) < (zb)->reference_alpha)
|
||||||
|
#define ZCMP(zpix, z) ((ZPOINT)(zpix) < (ZPOINT)(z))
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ZB_LOOKUP_TEXTURE_NEAREST(texture_def, s, t)
|
||||||
|
#define FNAME(name) FB_triangle_zoff_cgeneral_aless_zless_tnearest_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) (((int)(a)) < (zb)->reference_alpha)
|
||||||
|
#define ZCMP(zpix, z) ((ZPOINT)(zpix) < (ZPOINT)(z))
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx) DO_CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define INTERP_MIPMAP
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ZB_LOOKUP_TEXTURE_MIPMAP_NEAREST(texture_def, s, t, level)
|
||||||
|
#define FNAME(name) FB_triangle_zoff_cgeneral_aless_zless_tmipmap_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) (((int)(a)) < (zb)->reference_alpha)
|
||||||
|
#define ZCMP(zpix, z) ((ZPOINT)(zpix) < (ZPOINT)(z))
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx) DO_CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define INTERP_MIPMAP
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ((level == 0) ? (texture_def)->tex_magfilter_func(texture_def, s, t, level, level_dx) : (texture_def)->tex_minfilter_func(texture_def, s, t, level, level_dx))
|
||||||
|
#define FNAME(name) FB_triangle_zoff_cgeneral_aless_zless_tgeneral_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) (((int)(a)) > (zb)->reference_alpha)
|
||||||
|
#define ZCMP(zpix, z) 1
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ZB_LOOKUP_TEXTURE_NEAREST(texture_def, s, t)
|
||||||
|
#define FNAME(name) FB_triangle_zoff_cgeneral_amore_znone_tnearest_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) (((int)(a)) > (zb)->reference_alpha)
|
||||||
|
#define ZCMP(zpix, z) 1
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx) DO_CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define INTERP_MIPMAP
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ZB_LOOKUP_TEXTURE_MIPMAP_NEAREST(texture_def, s, t, level)
|
||||||
|
#define FNAME(name) FB_triangle_zoff_cgeneral_amore_znone_tmipmap_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) (((int)(a)) > (zb)->reference_alpha)
|
||||||
|
#define ZCMP(zpix, z) 1
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx) DO_CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define INTERP_MIPMAP
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ((level == 0) ? (texture_def)->tex_magfilter_func(texture_def, s, t, level, level_dx) : (texture_def)->tex_minfilter_func(texture_def, s, t, level, level_dx))
|
||||||
|
#define FNAME(name) FB_triangle_zoff_cgeneral_amore_znone_tgeneral_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) (((int)(a)) > (zb)->reference_alpha)
|
||||||
|
#define ZCMP(zpix, z) ((ZPOINT)(zpix) < (ZPOINT)(z))
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ZB_LOOKUP_TEXTURE_NEAREST(texture_def, s, t)
|
||||||
|
#define FNAME(name) FB_triangle_zoff_cgeneral_amore_zless_tnearest_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) (((int)(a)) > (zb)->reference_alpha)
|
||||||
|
#define ZCMP(zpix, z) ((ZPOINT)(zpix) < (ZPOINT)(z))
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx) DO_CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define INTERP_MIPMAP
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ZB_LOOKUP_TEXTURE_MIPMAP_NEAREST(texture_def, s, t, level)
|
||||||
|
#define FNAME(name) FB_triangle_zoff_cgeneral_amore_zless_tmipmap_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
#define STORE_Z(zpix, z)
|
||||||
|
#define STORE_PIX(pix, rgb, r, g, b, a) zb->store_pix_func(zb, pix, r, g, b, a)
|
||||||
|
#define ACMP(zb, a) (((int)(a)) > (zb)->reference_alpha)
|
||||||
|
#define ZCMP(zpix, z) ((ZPOINT)(zpix) < (ZPOINT)(z))
|
||||||
|
#define CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx) DO_CALC_MIPMAP_LEVEL(mipmap_level, mipmap_dx, dsdx, dtdx)
|
||||||
|
#define INTERP_MIPMAP
|
||||||
|
#define ZB_LOOKUP_TEXTURE(texture_def, s, t, level, level_dx) ((level == 0) ? (texture_def)->tex_magfilter_func(texture_def, s, t, level, level_dx) : (texture_def)->tex_minfilter_func(texture_def, s, t, level, level_dx))
|
||||||
|
#define FNAME(name) FB_triangle_zoff_cgeneral_amore_zless_tgeneral_ ## name
|
||||||
|
#include "ztriangle_two.h"
|
||||||
|
|
||||||
|
|
||||||
|
ZB_fillTriangleFunc ztriangle_code_3[810] = {
|
||||||
FB_triangle_zoff_cstore_anone_znone_tnearest_white_untextured,
|
FB_triangle_zoff_cstore_anone_znone_tnearest_white_untextured,
|
||||||
FB_triangle_zoff_cstore_anone_znone_tnearest_white_textured,
|
FB_triangle_zoff_cstore_anone_znone_tnearest_white_textured,
|
||||||
FB_triangle_zoff_cstore_anone_znone_tnearest_white_perspective,
|
FB_triangle_zoff_cstore_anone_znone_tnearest_white_perspective,
|
||||||
@ -890,4 +1064,274 @@ ZB_fillTriangleFunc ztriangle_code_3[540] = {
|
|||||||
FB_triangle_zoff_cblend_amore_zless_tgeneral_smooth_perspective,
|
FB_triangle_zoff_cblend_amore_zless_tgeneral_smooth_perspective,
|
||||||
FB_triangle_zoff_cblend_amore_zless_tgeneral_smooth_multitex2,
|
FB_triangle_zoff_cblend_amore_zless_tgeneral_smooth_multitex2,
|
||||||
FB_triangle_zoff_cblend_amore_zless_tgeneral_smooth_multitex3,
|
FB_triangle_zoff_cblend_amore_zless_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tnearest_white_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tnearest_white_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tnearest_white_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tnearest_flat_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tnearest_flat_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tnearest_flat_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tnearest_smooth_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tnearest_smooth_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tnearest_smooth_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tmipmap_white_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tmipmap_white_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tmipmap_white_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tmipmap_flat_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tmipmap_flat_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tmipmap_flat_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tmipmap_smooth_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tmipmap_smooth_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tmipmap_smooth_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tgeneral_white_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tgeneral_white_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tgeneral_white_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tgeneral_flat_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tgeneral_flat_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tgeneral_flat_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tgeneral_smooth_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tgeneral_smooth_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tgeneral_smooth_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_znone_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tnearest_white_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tnearest_white_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tnearest_white_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tnearest_flat_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tnearest_flat_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tnearest_flat_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tnearest_smooth_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tnearest_smooth_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tnearest_smooth_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tmipmap_white_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tmipmap_white_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tmipmap_white_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tmipmap_flat_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tmipmap_flat_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tmipmap_flat_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tmipmap_smooth_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tmipmap_smooth_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tmipmap_smooth_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tgeneral_white_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tgeneral_white_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tgeneral_white_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tgeneral_flat_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tgeneral_flat_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tgeneral_flat_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tgeneral_smooth_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tgeneral_smooth_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tgeneral_smooth_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_anone_zless_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tnearest_white_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tnearest_white_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tnearest_white_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tnearest_flat_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tnearest_flat_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tnearest_flat_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tnearest_smooth_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tnearest_smooth_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tnearest_smooth_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tmipmap_white_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tmipmap_white_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tmipmap_white_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tmipmap_flat_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tmipmap_flat_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tmipmap_flat_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tmipmap_smooth_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tmipmap_smooth_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tmipmap_smooth_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tgeneral_white_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tgeneral_white_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tgeneral_white_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tgeneral_flat_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tgeneral_flat_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tgeneral_flat_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tgeneral_smooth_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tgeneral_smooth_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tgeneral_smooth_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_znone_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tnearest_white_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tnearest_white_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tnearest_white_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tnearest_flat_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tnearest_flat_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tnearest_flat_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tnearest_smooth_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tnearest_smooth_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tnearest_smooth_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tmipmap_white_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tmipmap_white_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tmipmap_white_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tmipmap_flat_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tmipmap_flat_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tmipmap_flat_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tmipmap_smooth_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tmipmap_smooth_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tmipmap_smooth_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tgeneral_white_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tgeneral_white_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tgeneral_white_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tgeneral_flat_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tgeneral_flat_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tgeneral_flat_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tgeneral_smooth_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tgeneral_smooth_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tgeneral_smooth_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_aless_zless_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tnearest_white_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tnearest_white_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tnearest_white_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tnearest_flat_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tnearest_flat_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tnearest_flat_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tnearest_smooth_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tnearest_smooth_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tnearest_smooth_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tmipmap_white_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tmipmap_white_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tmipmap_white_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tmipmap_flat_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tmipmap_flat_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tmipmap_flat_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tmipmap_smooth_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tmipmap_smooth_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tmipmap_smooth_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tgeneral_white_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tgeneral_white_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tgeneral_white_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tgeneral_flat_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tgeneral_flat_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tgeneral_flat_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tgeneral_smooth_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tgeneral_smooth_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tgeneral_smooth_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_znone_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tnearest_white_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tnearest_white_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tnearest_white_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tnearest_flat_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tnearest_flat_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tnearest_flat_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tnearest_smooth_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tnearest_smooth_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tnearest_smooth_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tnearest_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tnearest_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tmipmap_white_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tmipmap_white_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tmipmap_white_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tmipmap_flat_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tmipmap_flat_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tmipmap_flat_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tmipmap_smooth_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tmipmap_smooth_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tmipmap_smooth_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tmipmap_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tmipmap_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tgeneral_white_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tgeneral_white_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tgeneral_white_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tgeneral_flat_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tgeneral_flat_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tgeneral_flat_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tgeneral_smooth_multitex3,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tgeneral_smooth_untextured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tgeneral_smooth_textured,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tgeneral_smooth_perspective,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tgeneral_smooth_multitex2,
|
||||||
|
FB_triangle_zoff_cgeneral_amore_zless_tgeneral_smooth_multitex3,
|
||||||
};
|
};
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,3 +1,3 @@
|
|||||||
/* This file is generated code--do not edit. See ztriangle.py. */
|
/* This file is generated code--do not edit. See ztriangle.py. */
|
||||||
|
|
||||||
extern const ZB_fillTriangleFunc fill_tri_funcs[2][4][3][2][3][3][5];
|
extern const ZB_fillTriangleFunc fill_tri_funcs[2][6][3][2][3][3][5];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user