Search
lxdream.org :: lxdream/src/pvr2/glutil.h
lxdream 0.9.1
released Jun 29
Download Now
filename src/pvr2/glutil.h
changeset 736:a02d1475ccfd
prev687:6bdc2b7032ea
next1066:ddffe9d2b332
author nkeynes
date Sun Sep 07 04:23:49 2008 +0000 (15 years ago)
permissions -rw-r--r--
last change Fog work-in-progress
file annotate diff log raw
nkeynes@653
     1
/**
nkeynes@653
     2
 * $Id$
nkeynes@653
     3
 *
nkeynes@653
     4
 * GL-based support functions 
nkeynes@653
     5
 *
nkeynes@653
     6
 * Copyright (c) 2005 Nathan Keynes.
nkeynes@653
     7
 *
nkeynes@653
     8
 * This program is free software; you can redistribute it and/or modify
nkeynes@653
     9
 * it under the terms of the GNU General Public License as published by
nkeynes@653
    10
 * the Free Software Foundation; either version 2 of the License, or
nkeynes@653
    11
 * (at your option) any later version.
nkeynes@653
    12
 *
nkeynes@653
    13
 * This program is distributed in the hope that it will be useful,
nkeynes@653
    14
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
nkeynes@653
    15
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
nkeynes@653
    16
 * GNU General Public License for more details.
nkeynes@653
    17
 */
nkeynes@653
    18
nkeynes@653
    19
#ifndef lxdream_glutil_H
nkeynes@653
    20
#define lxdream_glutil_H
nkeynes@653
    21
nkeynes@687
    22
#include <stdio.h>
nkeynes@653
    23
#include "display.h"
nkeynes@653
    24
nkeynes@736
    25
#ifdef __cplusplus
nkeynes@736
    26
extern "C" {
nkeynes@736
    27
#endif
nkeynes@736
    28
nkeynes@653
    29
/**
nkeynes@653
    30
 * Test if a specific extension is supported. From opengl.org
nkeynes@653
    31
 * @param extension extension name to check for
nkeynes@653
    32
 * @return TRUE if supported, otherwise FALSE.
nkeynes@653
    33
 */
nkeynes@653
    34
gboolean isGLExtensionSupported( const char *extension );
nkeynes@653
    35
nkeynes@667
    36
/**
nkeynes@687
    37
 * Dump GL information to the output stream, usually for debugging purposes
nkeynes@687
    38
 */
nkeynes@687
    39
void glPrintInfo( FILE *out );
nkeynes@687
    40
nkeynes@687
    41
/**
nkeynes@667
    42
 * Test if secondary color (GL_COLOR_SUM) is supported.
nkeynes@667
    43
 */
nkeynes@667
    44
gboolean isGLSecondaryColorSupported();
nkeynes@667
    45
nkeynes@667
    46
gboolean isGLVertexBufferSupported();
nkeynes@667
    47
gboolean isGLPixelBufferSupported();
nkeynes@667
    48
gboolean isGLMirroredTextureSupported();
nkeynes@653
    49
nkeynes@653
    50
/****** Shader handling (gl_sl.c) *****/
nkeynes@653
    51
gboolean glsl_is_supported(void);
nkeynes@653
    52
gboolean glsl_load_shaders( const char *vert_shader, const char *frag_shader );
nkeynes@653
    53
void glsl_unload_shaders(void);
nkeynes@669
    54
void glsl_enable_shaders( gboolean enable );
nkeynes@653
    55
nkeynes@653
    56
extern const char *glsl_vertex_shader_src;
nkeynes@653
    57
extern const char *glsl_fragment_shader_src;
nkeynes@653
    58
nkeynes@736
    59
#ifdef __cplusplus
nkeynes@736
    60
}
nkeynes@736
    61
#endif
nkeynes@736
    62
nkeynes@653
    63
#endif /* !lxdream_glutil_H */
.