2018-11-16 00:42:29 +01:00
|
|
|
/*****************************************************************************\
|
|
|
|
Snes9x - Portable Super Nintendo Entertainment System (TM) emulator.
|
|
|
|
This file is licensed under the Snes9x License.
|
|
|
|
For further information, consult the LICENSE file in the root directory.
|
|
|
|
\*****************************************************************************/
|
|
|
|
|
2018-05-11 22:56:58 +02:00
|
|
|
#ifndef __SHADER_HELPERS_H
|
|
|
|
#define __SHADER_HELPERS_H
|
2018-05-11 01:47:55 +02:00
|
|
|
|
2018-05-14 01:12:30 +02:00
|
|
|
#include "shader_platform.h"
|
2019-01-13 18:39:54 +01:00
|
|
|
#include <vector>
|
|
|
|
#include <string>
|
|
|
|
#include <sstream>
|
2018-05-11 01:47:55 +02:00
|
|
|
|
|
|
|
typedef struct _STGA
|
|
|
|
{
|
|
|
|
_STGA()
|
|
|
|
{
|
2019-01-09 00:18:17 +01:00
|
|
|
data = (unsigned char *)0;
|
2018-05-11 01:47:55 +02:00
|
|
|
width = 0;
|
|
|
|
height = 0;
|
|
|
|
byteCount = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
~_STGA()
|
|
|
|
{
|
|
|
|
delete[] data;
|
|
|
|
data = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
void destroy()
|
|
|
|
{
|
|
|
|
delete[] data;
|
|
|
|
data = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
int width;
|
|
|
|
int height;
|
|
|
|
unsigned char byteCount;
|
2019-01-09 00:18:17 +01:00
|
|
|
unsigned char *data;
|
2018-05-11 01:47:55 +02:00
|
|
|
} STGA;
|
|
|
|
|
2019-01-09 00:18:17 +01:00
|
|
|
bool loadPngImage(const char *name, int &outWidth, int &outHeight,
|
2019-01-26 03:01:52 +01:00
|
|
|
bool &grayscale, bool &outHasAlpha, GLubyte **outData);
|
2019-01-09 00:18:17 +01:00
|
|
|
bool loadTGA(const char *filename, STGA &tgaFile);
|
2019-01-09 02:43:51 +01:00
|
|
|
void gl_log_errors();
|
|
|
|
bool gl_srgb_available();
|
|
|
|
int gl_version();
|
|
|
|
bool gl_float_texture_available();
|
2019-01-13 18:39:54 +01:00
|
|
|
void reduce_to_path(char* filename);
|
2018-05-11 22:56:58 +02:00
|
|
|
|
|
|
|
#endif // __SHADER_HELPERS_H
|