snes9x/shaders/shader_helpers.h
Brandon Wright 02be8ba1f2 Shaders: Add support for grayscale PNGs
GTK+: Fix invalid texture clear.
2019-01-25 20:01:52 -06:00

54 lines
1.3 KiB
C++

/*****************************************************************************\
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.
\*****************************************************************************/
#ifndef __SHADER_HELPERS_H
#define __SHADER_HELPERS_H
#include "shader_platform.h"
#include <vector>
#include <string>
#include <sstream>
typedef struct _STGA
{
_STGA()
{
data = (unsigned char *)0;
width = 0;
height = 0;
byteCount = 0;
}
~_STGA()
{
delete[] data;
data = 0;
}
void destroy()
{
delete[] data;
data = 0;
}
int width;
int height;
unsigned char byteCount;
unsigned char *data;
} STGA;
bool loadPngImage(const char *name, int &outWidth, int &outHeight,
bool &grayscale, bool &outHasAlpha, GLubyte **outData);
bool loadTGA(const char *filename, STGA &tgaFile);
void gl_log_errors();
bool gl_srgb_available();
int gl_version();
bool gl_float_texture_available();
void reduce_to_path(char* filename);
void read_shader_file_with_includes(std::string filename, std::vector<std::string> &lines);
#endif // __SHADER_HELPERS_H