All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.lwjgl.opengl.AMDVertexShaderTessellator Maven / Gradle / Ivy

Go to download

The most widely adopted 2D and 3D graphics API in the industry, bringing thousands of applications to a wide variety of computer platforms.

There is a newer version: 3.3.4
Show newest version
/*
 * Copyright LWJGL. All rights reserved.
 * License terms: https://www.lwjgl.org/license
 * MACHINE GENERATED FILE, DO NOT EDIT
 */
package org.lwjgl.opengl;

import org.lwjgl.system.*;

/**
 * Native bindings to the AMD_vertex_shader_tessellator extension.
 * 
 * 

The vertex shader tessellator gives new flexibility to the shader author to shade at a tessellated vertex, rather than just at a provided vertex.

* *

In unextended vertex shading, the built-in attributes such as gl_Vertex, gl_Normal, and gl_MultiTexcoord0, together with the user defined attributes, * are system provided values which are initialized prior to vertex shader invocation.

* *

With vertex shading tessellation, additional vertex shader special values are available:

* *

 *         ivec3 gl_VertexTriangleIndex; // indices of the three control
 *                                       // points for the vertex
 *         vec3 gl_BarycentricCoord;     // barycentric coordinates
 *                                       // of the vertex
 * 
 *     i o
 *       |\
 *       | \
 *       *--*
 *       |\ |\
 *       | \| \
 *       *--*--*
 *       |\ |\ |\
 *       | \| \| \
 *     j o--*--*--o k
 * 
 *     Figure 1  A Tessellated Triangle
 *     o = control point (and tessellated vertex)
 *     * = tessellated vertex
 * 
 *         ivec4 gl_VertexQuadIndex;   // indices for the four control
 *                                     // points for the vertex
 *         vec2 gl_UVCoord;            // UV coordinates of the vertex
 * 
 *     i o--*--*--o k
 *       |\ |\ |\ |
 *       | \| \| \|
 *       *--*--*--*
 *       |\ |\ |\ |
 *       | \| \| \|
 *       *--*--*--*
 *       |\ |\ |\ |
 *       | \| \| \|
 *     j o--*--*--o l
 * 
 *     Figure 2  A Tessellated Quad
 *     o = control point (and tessellated vertex)
 *     * = tessellated vertex
* *

When this extension is enabled, conventional built-in attributes and user defined attributes are uninitialized. The shader writer is responsible for * explicitly fetching all other vertex data either from textures, uniform buffers, or vertex buffers.

* *

The shader writer is further responsible for interpolating the vertex data at the given barycentric coordinates or uv coordinates of the vertex.

* *

Requires {@link GL20 OpenGL 2.0}.

*/ public class AMDVertexShaderTessellator { static { GL.initialize(); } /** Returned by the {@code type} parameter of GetActiveUniform. */ public static final int GL_SAMPLER_BUFFER_AMD = 0x9001, GL_INT_SAMPLER_BUFFER_AMD = 0x9002, GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD = 0x9003; /** Accepted by TessellationModeAMD. */ public static final int GL_DISCRETE_AMD = 0x9006, GL_CONTINUOUS_AMD = 0x9007; /** Accepted by GetIntegerv. */ public static final int GL_TESSELLATION_MODE_AMD = 0x9004; /** Accepted by GetFloatv. */ public static final int GL_TESSELLATION_FACTOR_AMD = 0x9005; protected AMDVertexShaderTessellator() { throw new UnsupportedOperationException(); } // --- [ glTessellationFactorAMD ] --- public static native void glTessellationFactorAMD(@NativeType("GLfloat") float factor); // --- [ glTessellationModeAMD ] --- public static native void glTessellationModeAMD(@NativeType("GLenum") int mode); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy