updated makefile
This commit is contained in:
commit
bd59922052
include
samples/depth_funcs_alpha_testing
BIN
include/glkos.h.gch
Normal file
BIN
include/glkos.h.gch
Normal file
Binary file not shown.
30
samples/depth_funcs_alpha_testing/Makefile
Normal file
30
samples/depth_funcs_alpha_testing/Makefile
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
TARGET = depth_funcs.elf
|
||||||
|
OBJS = main.o gl_png.o
|
||||||
|
KOS_CFLAGS += -std=c99
|
||||||
|
|
||||||
|
all: rm-elf $(TARGET)
|
||||||
|
|
||||||
|
include $(KOS_BASE)/Makefile.rules
|
||||||
|
|
||||||
|
clean:
|
||||||
|
-rm -f $(TARGET) $(OBJS) romdisk.*
|
||||||
|
|
||||||
|
rm-elf:
|
||||||
|
-rm -f $(TARGET) romdisk.*
|
||||||
|
|
||||||
|
$(TARGET): $(OBJS) romdisk.o
|
||||||
|
$(KOS_CC) $(KOS_CFLAGS) $(KOS_LDFLAGS) -o $(TARGET) $(KOS_START) \
|
||||||
|
$(OBJS) romdisk.o $(OBJEXTRA) -lm -lkosutils $(KOS_LIBS)
|
||||||
|
|
||||||
|
romdisk.img:
|
||||||
|
$(KOS_GENROMFS) -f romdisk.img -d romdisk -v
|
||||||
|
|
||||||
|
romdisk.o: romdisk.img
|
||||||
|
$(KOS_BASE)/utils/bin2o/bin2o romdisk.img romdisk romdisk.o
|
||||||
|
|
||||||
|
run: $(TARGET)
|
||||||
|
$(KOS_LOADER) $(TARGET)
|
||||||
|
|
||||||
|
dist:
|
||||||
|
rm -f $(OBJS) romdisk.o romdisk.img
|
||||||
|
$(KOS_STRIP) $(TARGET)
|
237
samples/depth_funcs_alpha_testing/gl_png.c
Normal file
237
samples/depth_funcs_alpha_testing/gl_png.c
Normal file
|
@ -0,0 +1,237 @@
|
||||||
|
#include <kos.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <dirent.h>
|
||||||
|
#include <GL/gl.h>
|
||||||
|
#include <GL/glkos.h>
|
||||||
|
#include <GL/glext.h>
|
||||||
|
#include <GL/glu.h>
|
||||||
|
|
||||||
|
#include "gl_png.h"
|
||||||
|
|
||||||
|
#define CLEANUP(x) { ret = (x); goto cleanup; }
|
||||||
|
|
||||||
|
GLfloat global_diffuse[] = {1.0, 1.0, 1.0, 1.0};
|
||||||
|
GLfloat global_ambient[] = {1.0, 1.0, 1.0, 1.0};
|
||||||
|
|
||||||
|
|
||||||
|
int dtex_to_gl_texture(texture *tex, char* filename) {
|
||||||
|
// Load Texture
|
||||||
|
Image *image;
|
||||||
|
|
||||||
|
// allocate space for texture
|
||||||
|
image = (Image *) malloc(sizeof(Image));
|
||||||
|
if (image == NULL) {
|
||||||
|
printf("No memory for .DTEX file\n");
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
FILE* file = NULL;
|
||||||
|
|
||||||
|
// make sure the file is there.
|
||||||
|
if ((file = fopen(filename, "rb")) == NULL)
|
||||||
|
{
|
||||||
|
printf("File not found");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
struct {
|
||||||
|
char id[4]; // 'DTEX'
|
||||||
|
GLushort width;
|
||||||
|
GLushort height;
|
||||||
|
GLuint type;
|
||||||
|
GLuint size;
|
||||||
|
} header;
|
||||||
|
|
||||||
|
fread(&header, sizeof(header), 1, file);
|
||||||
|
|
||||||
|
GLboolean twiddled = (header.type & (1 << 26)) < 1;
|
||||||
|
GLboolean compressed = (header.type & (1 << 30)) > 0;
|
||||||
|
GLboolean mipmapped = (header.type & (1 << 31)) > 0;
|
||||||
|
GLboolean strided = (header.type & (1 << 25)) > 0;
|
||||||
|
GLuint format = (header.type >> 27) & 0b111;
|
||||||
|
|
||||||
|
image->data = (char *) malloc (header.size);
|
||||||
|
image->sizeX = header.width;
|
||||||
|
image->sizeY = header.height;
|
||||||
|
image->dataSize = header.size;
|
||||||
|
|
||||||
|
GLuint expected = 2 * header.width * header.height;
|
||||||
|
GLuint ratio = (GLuint) (((GLfloat) expected) / ((GLfloat) header.size));
|
||||||
|
|
||||||
|
fread(image->data, image->dataSize, 1, file);
|
||||||
|
fclose(file);
|
||||||
|
|
||||||
|
if(compressed) {
|
||||||
|
printf("Compressed - ");
|
||||||
|
if(twiddled) {
|
||||||
|
printf("Twiddled - ");
|
||||||
|
switch(format) {
|
||||||
|
case 0: {
|
||||||
|
if(mipmapped) {
|
||||||
|
image->internalFormat = GL_COMPRESSED_ARGB_1555_VQ_MIPMAP_TWID_KOS;
|
||||||
|
} else {
|
||||||
|
image->internalFormat = GL_COMPRESSED_ARGB_1555_VQ_TWID_KOS;
|
||||||
|
}
|
||||||
|
} break;
|
||||||
|
case 1: {
|
||||||
|
if(mipmapped) {
|
||||||
|
image->internalFormat = GL_COMPRESSED_RGB_565_VQ_MIPMAP_TWID_KOS;
|
||||||
|
} else {
|
||||||
|
image->internalFormat = GL_COMPRESSED_RGB_565_VQ_TWID_KOS;
|
||||||
|
}
|
||||||
|
} break;
|
||||||
|
case 2: {
|
||||||
|
if(mipmapped) {
|
||||||
|
image->internalFormat = GL_COMPRESSED_ARGB_4444_VQ_MIPMAP_TWID_KOS;
|
||||||
|
} else {
|
||||||
|
image->internalFormat = GL_COMPRESSED_ARGB_4444_VQ_TWID_KOS;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
fprintf(stderr, "Invalid texture format");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
switch(format) {
|
||||||
|
case 0: {
|
||||||
|
if(mipmapped) {
|
||||||
|
image->internalFormat = GL_COMPRESSED_ARGB_1555_VQ_MIPMAP_KOS;
|
||||||
|
} else {
|
||||||
|
image->internalFormat = GL_COMPRESSED_ARGB_1555_VQ_KOS;
|
||||||
|
}
|
||||||
|
} break;
|
||||||
|
case 1: {
|
||||||
|
if(mipmapped) {
|
||||||
|
image->internalFormat = GL_COMPRESSED_RGB_565_VQ_MIPMAP_KOS;
|
||||||
|
} else {
|
||||||
|
image->internalFormat = GL_COMPRESSED_RGB_565_VQ_KOS;
|
||||||
|
}
|
||||||
|
} break;
|
||||||
|
case 2: {
|
||||||
|
if(mipmapped) {
|
||||||
|
image->internalFormat = GL_COMPRESSED_ARGB_4444_VQ_MIPMAP_KOS;
|
||||||
|
} else {
|
||||||
|
image->internalFormat = GL_COMPRESSED_ARGB_4444_VQ_KOS;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
fprintf(stderr, "Invalid texture format");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
printf("Uncompressed - ");
|
||||||
|
//printf("Color:%u -", format);
|
||||||
|
switch(format) {
|
||||||
|
|
||||||
|
case 0:
|
||||||
|
image->internalFormat = GL_UNSIGNED_SHORT_1_5_5_5_REV_TWID_KOS;
|
||||||
|
//image->internalFormat = GL_UNSIGNED_SHORT_1_5_5_5_REV;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
image->internalFormat = GL_UNSIGNED_SHORT_5_6_5_REV;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
image->internalFormat = GL_UNSIGNED_SHORT_4_4_4_4_REV;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
printf("\n");
|
||||||
|
|
||||||
|
// Create Texture
|
||||||
|
GLuint texture_id;
|
||||||
|
glGenTextures(1, &texture_id);
|
||||||
|
glBindTexture(GL_TEXTURE_2D, texture_id); // 2d texture (x and y size)
|
||||||
|
|
||||||
|
GLint newFormat = format;
|
||||||
|
GLint colorType = GL_RGB;
|
||||||
|
|
||||||
|
if (image->internalFormat == GL_UNSIGNED_SHORT_1_5_5_5_REV_TWID_KOS ||
|
||||||
|
image->internalFormat == GL_UNSIGNED_SHORT_4_4_4_4_REV){
|
||||||
|
newFormat = GL_BGRA;
|
||||||
|
colorType = GL_RGBA;
|
||||||
|
printf("Reversing RGBA\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (image->internalFormat == GL_UNSIGNED_SHORT_5_6_5_REV){
|
||||||
|
newFormat = GL_RGB;
|
||||||
|
colorType = GL_RGB;
|
||||||
|
printf("Reversing RGB\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
glTexImage2D(GL_TEXTURE_2D, 0,
|
||||||
|
colorType, image->sizeX, image->sizeY, 0,
|
||||||
|
newFormat, image->internalFormat, image->data);
|
||||||
|
|
||||||
|
tex->id = texture_id;
|
||||||
|
tex->w = image->sizeX;
|
||||||
|
tex->h = image->sizeY;
|
||||||
|
tex->u = 0.f;
|
||||||
|
tex->v = 0.f;
|
||||||
|
tex->a = tex->light = 1;
|
||||||
|
tex->color[0] = tex->color[1] = tex->color[2] = 1.0f;
|
||||||
|
tex->uSize = tex->vSize = 1.0f;
|
||||||
|
tex->xScale = tex->yScale = 1.0f;
|
||||||
|
tex->format = image->internalFormat;
|
||||||
|
tex->min_filter = tex->mag_filter = GL_NEAREST;
|
||||||
|
tex->blend_source = GL_SRC_ALPHA;
|
||||||
|
tex->blend_dest = GL_ONE_MINUS_SRC_ALPHA;
|
||||||
|
strcpy(tex->path, filename);
|
||||||
|
|
||||||
|
printf("Texture size: %d x %d\n", image->sizeX, image->sizeY);
|
||||||
|
printf("Texture ratio: %d\n", ratio);
|
||||||
|
printf("Texture size: %d x %d\n", image->sizeX, image->sizeY);
|
||||||
|
printf("Texture %s loaded\n", tex->path);
|
||||||
|
|
||||||
|
return(1);
|
||||||
|
};
|
||||||
|
|
||||||
|
void draw_textured_quad(texture *tex) {
|
||||||
|
if(glIsTexture(tex->id)) {
|
||||||
|
|
||||||
|
GLfloat vertex_data[] = {
|
||||||
|
/* 2D Coordinate, texture coordinate */
|
||||||
|
0, 1, 0,
|
||||||
|
1, 1, 0,
|
||||||
|
1, 0, 0,
|
||||||
|
0, 0, 0
|
||||||
|
};
|
||||||
|
|
||||||
|
GLfloat uv_data[] = {
|
||||||
|
/* 2D Coordinate, texture coordinate */
|
||||||
|
0, 1,
|
||||||
|
1, 1,
|
||||||
|
1, 0,
|
||||||
|
0, 0
|
||||||
|
};
|
||||||
|
|
||||||
|
GLfloat normal_data[] = {
|
||||||
|
/* 2D Coordinate, texture coordinate */
|
||||||
|
0.0, 0.0, 1.0,
|
||||||
|
0.0, 0.0, 1.0,
|
||||||
|
0.0, 0.0, 1.0,
|
||||||
|
0.0, 0.0, 1.0
|
||||||
|
};
|
||||||
|
|
||||||
|
glEnable(GL_TEXTURE_2D);
|
||||||
|
glBindTexture(GL_TEXTURE_2D, tex->id);
|
||||||
|
glEnableClientState(GL_VERTEX_ARRAY);
|
||||||
|
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||||
|
glEnableClientState(GL_NORMAL_ARRAY);
|
||||||
|
|
||||||
|
glVertexPointer (3, GL_FLOAT, 0, vertex_data);
|
||||||
|
glTexCoordPointer (2, GL_FLOAT, 0, uv_data);
|
||||||
|
glNormalPointer (GL_FLOAT, 0, normal_data);
|
||||||
|
|
||||||
|
glDrawArrays(GL_QUADS, 0, 4);
|
||||||
|
|
||||||
|
glDisableClientState(GL_VERTEX_ARRAY);
|
||||||
|
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||||
|
glDisableClientState(GL_NORMAL_ARRAY);
|
||||||
|
glDisable(GL_TEXTURE_2D);
|
||||||
|
}
|
||||||
|
}
|
42
samples/depth_funcs_alpha_testing/gl_png.h
Normal file
42
samples/depth_funcs_alpha_testing/gl_png.h
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
#ifndef __GL_PNG_H__
|
||||||
|
#define __GL_PNG_H__
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <kos.h>
|
||||||
|
#include <GL/gl.h>
|
||||||
|
|
||||||
|
typedef struct _texture {
|
||||||
|
GLuint id;
|
||||||
|
GLenum format;
|
||||||
|
GLenum min_filter;
|
||||||
|
GLenum mag_filter;
|
||||||
|
GLenum blend_source;
|
||||||
|
GLenum blend_dest;
|
||||||
|
int loaded;
|
||||||
|
uint16_t w, h; // width / height of texture image
|
||||||
|
int size[2];
|
||||||
|
float u, v; //uv COORD
|
||||||
|
float uSize, vSize; // uvSize
|
||||||
|
float xScale, yScale; //render scale
|
||||||
|
float a; //alpha
|
||||||
|
float light; //alpha
|
||||||
|
float color[3];
|
||||||
|
char path[32];
|
||||||
|
} texture;
|
||||||
|
|
||||||
|
/* DTEX Image type - contains height, width, and data */
|
||||||
|
typedef struct Image {
|
||||||
|
unsigned long sizeX;
|
||||||
|
unsigned long sizeY;
|
||||||
|
char *data;
|
||||||
|
GLenum internalFormat;
|
||||||
|
GLboolean mipmapped;
|
||||||
|
unsigned int dataSize;
|
||||||
|
} Image;
|
||||||
|
|
||||||
|
|
||||||
|
int dtex_to_gl_texture(texture *tex, char* filename);
|
||||||
|
void draw_textured_quad(texture *tex);
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
BIN
samples/depth_funcs_alpha_testing/gl_png.h.gch
Normal file
BIN
samples/depth_funcs_alpha_testing/gl_png.h.gch
Normal file
Binary file not shown.
110
samples/depth_funcs_alpha_testing/main.c
Normal file
110
samples/depth_funcs_alpha_testing/main.c
Normal file
|
@ -0,0 +1,110 @@
|
||||||
|
#include "gl.h"
|
||||||
|
#include "glu.h"
|
||||||
|
#include "glkos.h"
|
||||||
|
#include "gl_png.h"
|
||||||
|
|
||||||
|
//$KOS_BASE/utils/texconv/texconv --in disk.png --format ARGB4444 --preview disk_preview.png --out disk.dtex
|
||||||
|
|
||||||
|
extern uint8 romdisk[];
|
||||||
|
KOS_INIT_ROMDISK(romdisk);
|
||||||
|
texture t;
|
||||||
|
int blendActive = -1;
|
||||||
|
/* floats for x rotation, y rotation, z rotation */
|
||||||
|
float xrot, yrot, zrot;
|
||||||
|
|
||||||
|
/* A general OpenGL initialization function. Sets all of the initial parameters. */
|
||||||
|
void InitGL(int Width, int Height) // We call this right after our OpenGL window is created.
|
||||||
|
{
|
||||||
|
glClearColor(0.0f, 0.0f, 0.0f, 0.0f); // This Will Clear The Background Color To Black
|
||||||
|
glClearDepth(1.0); // Enables Clearing Of The Depth Buffer
|
||||||
|
glShadeModel(GL_SMOOTH); // Enables Smooth Color Shading
|
||||||
|
|
||||||
|
glMatrixMode(GL_PROJECTION);
|
||||||
|
glLoadIdentity(); // Reset The Projection Matrix
|
||||||
|
gluPerspective(45.0f,(GLfloat)Width/(GLfloat)Height,0.1f,100.0f); // Calculate The Aspect Ratio Of The Window
|
||||||
|
glEnable(GL_TEXTURE_2D);
|
||||||
|
glMatrixMode(GL_MODELVIEW);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* The function called when our window is resized (which shouldn't happen, because we're fullscreen) */
|
||||||
|
void ReSizeGLScene(int Width, int Height)
|
||||||
|
{
|
||||||
|
if (Height == 0) // Prevent A Divide By Zero If The Window Is Too Small
|
||||||
|
Height = 1;
|
||||||
|
|
||||||
|
glViewport(0, 0, Width, Height); // Reset The Current Viewport And Perspective Transformation
|
||||||
|
|
||||||
|
glMatrixMode(GL_PROJECTION);
|
||||||
|
glLoadIdentity();
|
||||||
|
|
||||||
|
gluPerspective(45.0f,(GLfloat)Width/(GLfloat)Height,0.1f,100.0f);
|
||||||
|
glMatrixMode(GL_MODELVIEW);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void DrawSquare(float width, float r, float g, float b, float z) {
|
||||||
|
width /= 2;
|
||||||
|
|
||||||
|
glColor3f(r, g, b);
|
||||||
|
glBegin(GL_QUADS); // start drawing a polygon (4 sided)
|
||||||
|
glVertex3f(-width, width, z); // Top Left
|
||||||
|
glVertex3f( width, width, z); // Top Right
|
||||||
|
glVertex3f( width,-width, z); // Bottom Right
|
||||||
|
glVertex3f(-width,-width, z); // Bottom Left
|
||||||
|
glEnd(); // done with the polygon
|
||||||
|
}
|
||||||
|
|
||||||
|
/* The main drawing function. */
|
||||||
|
void DrawGLScene()
|
||||||
|
{
|
||||||
|
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear The Screen And The Depth Buffer
|
||||||
|
glLoadIdentity(); // Reset The View
|
||||||
|
|
||||||
|
|
||||||
|
//First Batch is alpha blending
|
||||||
|
glTranslated(-1 ,0, -5);
|
||||||
|
for (int i = 0; i < 5; i++) {
|
||||||
|
glTranslated(0.5, 0, 0);
|
||||||
|
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||||
|
glEnable(GL_BLEND);
|
||||||
|
draw_textured_quad(&t);
|
||||||
|
glDisable(GL_BLEND);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//Second batch is depth testing
|
||||||
|
//Changing the translate Z value doesn't change anything?
|
||||||
|
glLoadIdentity();
|
||||||
|
glTranslated(-1 , -1, -5);
|
||||||
|
glDepthFunc(GL_LESS);
|
||||||
|
glEnable(GL_DEPTH_FUNC);
|
||||||
|
|
||||||
|
for (int i = 0; i < 5; i++) {
|
||||||
|
glTranslated(0.5, 0, -0.2);
|
||||||
|
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||||
|
glEnable(GL_BLEND);
|
||||||
|
draw_textured_quad(&t);
|
||||||
|
glDisable(GL_BLEND);
|
||||||
|
}
|
||||||
|
|
||||||
|
glDisable(GL_DEPTH_TEST);
|
||||||
|
|
||||||
|
// swap buffers to display, since we're double buffered.
|
||||||
|
glKosSwapBuffers();
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
glKosInit();
|
||||||
|
InitGL(640, 480);
|
||||||
|
|
||||||
|
//loads a dtex texture. see the /romdisk folder for more files
|
||||||
|
dtex_to_gl_texture(&t, "/rd/disk_1555.dtex");
|
||||||
|
ReSizeGLScene(640, 480);
|
||||||
|
DrawGLScene();
|
||||||
|
while(1) {
|
||||||
|
DrawGLScene();
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
17
samples/depth_funcs_alpha_testing/romdisk/convertToDtex.sh
Executable file
17
samples/depth_funcs_alpha_testing/romdisk/convertToDtex.sh
Executable file
|
@ -0,0 +1,17 @@
|
||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
FILE=$1
|
||||||
|
FILE_FLIP="$1_flip.png"
|
||||||
|
FILE_PATH=${FILE%/*}
|
||||||
|
|
||||||
|
echo $FILE_PATH
|
||||||
|
|
||||||
|
convert $FILE -flip $FILE_FLIP
|
||||||
|
|
||||||
|
$KOS_BASE/utils/texconv/texconv --in $FILE_FLIP --format ARGB1555 --preview $FILE_PATH/preview_1555.png --out $FILE_PATH/disk_1555.dtex
|
||||||
|
$KOS_BASE/utils/texconv/texconv --in $FILE_FLIP --format RGB565 --preview $FILE_PATH/preview_565.png --out $FILE_PATH/disk_565.dtex
|
||||||
|
$KOS_BASE/utils/texconv/texconv --in $FILE_FLIP --format ARGB4444 --preview $FILE_PATH/preview_4444.png --out $FILE_PATH/disk_4444.dtex
|
||||||
|
|
||||||
|
rm $FILE_FLIP
|
||||||
|
|
||||||
|
#rm $FILE_FLIP
|
BIN
samples/depth_funcs_alpha_testing/romdisk/disk.png
Normal file
BIN
samples/depth_funcs_alpha_testing/romdisk/disk.png
Normal file
Binary file not shown.
After (image error) Size: 4.7 KiB |
BIN
samples/depth_funcs_alpha_testing/romdisk/disk_1555.dtex
Normal file
BIN
samples/depth_funcs_alpha_testing/romdisk/disk_1555.dtex
Normal file
Binary file not shown.
BIN
samples/depth_funcs_alpha_testing/romdisk/disk_4444.dtex
Normal file
BIN
samples/depth_funcs_alpha_testing/romdisk/disk_4444.dtex
Normal file
Binary file not shown.
BIN
samples/depth_funcs_alpha_testing/romdisk/disk_565.dtex
Normal file
BIN
samples/depth_funcs_alpha_testing/romdisk/disk_565.dtex
Normal file
Binary file not shown.
BIN
samples/depth_funcs_alpha_testing/romdisk/preview_1555.png
Normal file
BIN
samples/depth_funcs_alpha_testing/romdisk/preview_1555.png
Normal file
Binary file not shown.
After (image error) Size: 1.7 KiB |
BIN
samples/depth_funcs_alpha_testing/romdisk/preview_4444.png
Normal file
BIN
samples/depth_funcs_alpha_testing/romdisk/preview_4444.png
Normal file
Binary file not shown.
After (image error) Size: 1.7 KiB |
BIN
samples/depth_funcs_alpha_testing/romdisk/preview_565.png
Normal file
BIN
samples/depth_funcs_alpha_testing/romdisk/preview_565.png
Normal file
Binary file not shown.
After (image error) Size: 1.8 KiB |
BIN
samples/depth_funcs_alpha_testing/romdisk/spritesheet.dtex
Normal file
BIN
samples/depth_funcs_alpha_testing/romdisk/spritesheet.dtex
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user