1 /*
2  * Copyright (c) 2002-2008 LWJGL Project
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are
7  * met:
8  *
9  * * Redistributions of source code must retain the above copyright
10  *   notice, this list of conditions and the following disclaimer.
11  *
12  * * Redistributions in binary form must reproduce the above copyright
13  *   notice, this list of conditions and the following disclaimer in the
14  *   documentation and/or other materials provided with the distribution.
15  *
16  * * Neither the name of 'LWJGL' nor the names of
17  *   its contributors may be used to endorse or promote products derived
18  *   from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
22  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 package org.lwjgl.opengl;
33 
34 import org.lwjgl.util.generator.opengl.GLenum;
35 import org.lwjgl.util.generator.opengl.GLuint;
36 
37 public interface ARB_geometry_shader4 {
38 
39 	/**
40 	 * Accepted by the <type> parameter of CreateShader and returned by the
41 	 * <params> parameter of GetShaderiv:
42 	 */
43 	int GL_GEOMETRY_SHADER_ARB = 0x8DD9;
44 
45 	/**
46 	 * Accepted by the <pname> parameter of ProgramParameteriEXT and
47 	 * GetProgramiv:
48 	 */
49 	int GL_GEOMETRY_VERTICES_OUT_ARB = 0x8DDA;
50 	int GL_GEOMETRY_INPUT_TYPE_ARB = 0x8DDB;
51 	int GL_GEOMETRY_OUTPUT_TYPE_ARB = 0x8DDC;
52 
53 	/**
54 	 * Accepted by the <pname> parameter of GetBooleanv, GetIntegerv,
55 	 * GetFloatv, and GetDoublev:
56 	 */
57 	int GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB = 0x8C29;
58 	int GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB = 0x8DDD;
59 	int GL_MAX_VERTEX_VARYING_COMPONENTS_ARB = 0x8DDE;
60 	int GL_MAX_VARYING_COMPONENTS_ARB = 0x8B4B;
61 	int GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB = 0x8DDF;
62 	int GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB = 0x8DE0;
63 	int GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB = 0x8DE1;
64 
65 	/**
66 	 * Accepted by the <mode> parameter of Begin, DrawArrays,
67 	 * MultiDrawArrays, DrawElements, MultiDrawElements, and
68 	 * DrawRangeElements:
69 	 */
70 	int GL_LINES_ADJACENCY_ARB = 0xA;
71 	int GL_LINE_STRIP_ADJACENCY_ARB = 0xB;
72 	int GL_TRIANGLES_ADJACENCY_ARB = 0xC;
73 	int GL_TRIANGLE_STRIP_ADJACENCY_ARB = 0xD;
74 
75 	/** Returned by CheckFramebufferStatusEXT: */
76 	int GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB = 0x8DA8;
77 	int GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB = 0x8DA9;
78 
79 	/**
80 	 * Accepted by the <pname> parameter of GetFramebufferAttachment-
81 	 * ParameterivEXT:
82 	 */
83 	int GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB = 0x8DA7;
84 	int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_ARB = 0x8CD4;
85 
86 	/**
87 	 * Accepted by the <cap> parameter of Enable, Disable, and IsEnabled,
88 	 * and by the <pname> parameter of GetIntegerv, GetFloatv, GetDoublev,
89 	 * and GetBooleanv:
90 	 */
91 	int GL_PROGRAM_POINT_SIZE_ARB = 0x8642;
92 
glProgramParameteriARB(@Luint int program, @GLenum int pname, int value)93 	void glProgramParameteriARB(@GLuint int program, @GLenum int pname, int value);
94 
glFramebufferTextureARB(@Lenum int target, @GLenum int attachment, @GLuint int texture, int level)95 	void glFramebufferTextureARB(@GLenum int target, @GLenum int attachment, @GLuint int texture, int level);
96 
glFramebufferTextureLayerARB(@Lenum int target, @GLenum int attachment, @GLuint int texture, int level, int layer)97 	void glFramebufferTextureLayerARB(@GLenum int target, @GLenum int attachment, @GLuint int texture, int level, int layer);
98 
glFramebufferTextureFaceARB(@Lenum int target, @GLenum int attachment, @GLuint int texture, int level, @GLenum int face)99 	void glFramebufferTextureFaceARB(@GLenum int target, @GLenum int attachment, @GLuint int texture, int level, @GLenum int face);
100 
101 }