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