本文整理匯總了Java中org.lwjgl.opengl.GL20.glDisableVertexAttribArray方法的典型用法代碼示例。如果您正苦於以下問題:Java GL20.glDisableVertexAttribArray方法的具體用法?Java GL20.glDisableVertexAttribArray怎麽用?Java GL20.glDisableVertexAttribArray使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.lwjgl.opengl.GL20
的用法示例。
在下文中一共展示了GL20.glDisableVertexAttribArray方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: unbindTexturedModel
import org.lwjgl.opengl.GL20; //導入方法依賴的package包/類
private void unbindTexturedModel() {
MasterRenderer.enableCulling();
GL20.glDisableVertexAttribArray(0);
GL20.glDisableVertexAttribArray(1);
GL20.glDisableVertexAttribArray(2);
GL30.glBindVertexArray(0);
}
示例2: drawArrays
import org.lwjgl.opengl.GL20; //導入方法依賴的package包/類
public static void drawArrays(int drawMode, int first, int count, VertexBuffer wrr)
{
if (count != 0)
{
VertexFormat vertexformat = wrr.getVertexFormat();
int i = vertexformat.getNextOffset();
if (i == 56)
{
ByteBuffer bytebuffer = wrr.getByteBuffer();
bytebuffer.position(32);
GL20.glVertexAttribPointer(Shaders.midTexCoordAttrib, 2, GL11.GL_FLOAT, false, i, bytebuffer);
bytebuffer.position(40);
GL20.glVertexAttribPointer(Shaders.tangentAttrib, 4, GL11.GL_SHORT, false, i, bytebuffer);
bytebuffer.position(48);
GL20.glVertexAttribPointer(Shaders.entityAttrib, 3, GL11.GL_SHORT, false, i, bytebuffer);
bytebuffer.position(0);
GL20.glEnableVertexAttribArray(Shaders.midTexCoordAttrib);
GL20.glEnableVertexAttribArray(Shaders.tangentAttrib);
GL20.glEnableVertexAttribArray(Shaders.entityAttrib);
GL11.glDrawArrays(drawMode, first, count);
GL20.glDisableVertexAttribArray(Shaders.midTexCoordAttrib);
GL20.glDisableVertexAttribArray(Shaders.tangentAttrib);
GL20.glDisableVertexAttribArray(Shaders.entityAttrib);
}
else
{
GL11.glDrawArrays(drawMode, first, count);
}
}
}
示例3: unbindTexturedModel
import org.lwjgl.opengl.GL20; //導入方法依賴的package包/類
private void unbindTexturedModel() {
MasterRenderer.enableCulling();
GL20.glDisableVertexAttribArray(0);
GL20.glDisableVertexAttribArray(1);
GL20.glDisableVertexAttribArray(2);
GL30.glBindVertexArray(0);
}
示例4: draw
import org.lwjgl.opengl.GL20; //導入方法依賴的package包/類
public void draw(){
GL30.glBindVertexArray(vao);
GL20.glEnableVertexAttribArray(0);
GL20.glEnableVertexAttribArray(1);
GL11.glDrawElements(GL11.GL_TRIANGLES, 6, GL11.GL_UNSIGNED_INT, 0);
GL20.glDisableVertexAttribArray(0);
GL20.glDisableVertexAttribArray(1);
GL30.glBindVertexArray(vao);
}
示例5: postRenderChunkLayer
import org.lwjgl.opengl.GL20; //導入方法依賴的package包/類
public static void postRenderChunkLayer(BlockRenderLayer blockLayerIn)
{
if (OpenGlHelper.useVbo())
{
GL11.glDisableClientState(GL11.GL_NORMAL_ARRAY);
GL20.glDisableVertexAttribArray(Shaders.midTexCoordAttrib);
GL20.glDisableVertexAttribArray(Shaders.tangentAttrib);
GL20.glDisableVertexAttribArray(Shaders.entityAttrib);
}
if (Shaders.isRenderBackFace(blockLayerIn))
{
GlStateManager.enableCull();
}
}
示例6: drawArrays
import org.lwjgl.opengl.GL20; //導入方法依賴的package包/類
public static void drawArrays(int drawMode, int first, int count, WorldRenderer wrr)
{
if (count != 0)
{
VertexFormat vertexformat = wrr.getVertexFormat();
int i = vertexformat.getNextOffset();
if (i == 56)
{
ByteBuffer bytebuffer = wrr.getByteBuffer();
bytebuffer.position(32);
GL20.glVertexAttribPointer(Shaders.midTexCoordAttrib, 2, GL11.GL_FLOAT, false, i, bytebuffer);
bytebuffer.position(40);
GL20.glVertexAttribPointer(Shaders.tangentAttrib, 4, GL11.GL_SHORT, false, i, bytebuffer);
bytebuffer.position(48);
GL20.glVertexAttribPointer(Shaders.entityAttrib, 3, GL11.GL_SHORT, false, i, bytebuffer);
bytebuffer.position(0);
GL20.glEnableVertexAttribArray(Shaders.midTexCoordAttrib);
GL20.glEnableVertexAttribArray(Shaders.tangentAttrib);
GL20.glEnableVertexAttribArray(Shaders.entityAttrib);
GL11.glDrawArrays(drawMode, first, count);
GL20.glDisableVertexAttribArray(Shaders.midTexCoordAttrib);
GL20.glDisableVertexAttribArray(Shaders.tangentAttrib);
GL20.glDisableVertexAttribArray(Shaders.entityAttrib);
}
else
{
GL11.glDrawArrays(drawMode, first, count);
}
}
}
示例7: postRenderChunkLayer
import org.lwjgl.opengl.GL20; //導入方法依賴的package包/類
public static void postRenderChunkLayer()
{
if (OpenGlHelper.useVbo())
{
GL11.glDisableClientState(GL11.GL_NORMAL_ARRAY);
GL20.glDisableVertexAttribArray(Shaders.midTexCoordAttrib);
GL20.glDisableVertexAttribArray(Shaders.tangentAttrib);
GL20.glDisableVertexAttribArray(Shaders.entityAttrib);
}
}
示例8: unbind
import org.lwjgl.opengl.GL20; //導入方法依賴的package包/類
public void unbind()
{
for(int i = 0; i < this.vertexBuffers.length; ++i)
{
if (this.vertexBuffers[i] != null)
{
GL20.glDisableVertexAttribArray(i);
}
}
GL30.glBindVertexArray(0);
}
示例9: runShader
import org.lwjgl.opengl.GL20; //導入方法依賴的package包/類
public static void runShader() {
Minecraft mc = Minecraft.getMinecraft();
//TODO remove
if (Keyboard.isKeyDown(Keyboard.KEY_NUMPAD5)) {
destroyShader();
createShader();
}
//Use shader program
GL20.glUseProgram(shader.getShaderProgram());
//TODO third person view
Entity entity = mc.getRenderViewEntity();
float partialTicks = mc.getRenderPartialTicks();
double entityPosX = entity.lastTickPosX + (entity.posX - entity.lastTickPosX) * (double)partialTicks;
double entityPosY = entity.lastTickPosY + entity.getEyeHeight() + (entity.posY - entity.lastTickPosY) * (double)partialTicks;
double entityPosZ = entity.lastTickPosZ + (entity.posZ - entity.lastTickPosZ) * (double)partialTicks;
float fov = (float) Math.toRadians(mc.entityRenderer.getFOVModifier(partialTicks, true));
//Set uniform values
int texUniform = GL20.glGetUniformLocation(shader.getShaderProgram(), "tex");
GL20.glUniform1i(texUniform, 0);
int cameraPosUniform = GL20.glGetUniformLocation(shader.getShaderProgram(), "cameraPos");
GL20.glUniform3f(cameraPosUniform, (float)entityPosX%16, (float)entityPosY%16, (float)entityPosZ%16);
int cameraDirUniform = GL20.glGetUniformLocation(shader.getShaderProgram(), "cameraDir");
GL20.glUniform3f(cameraDirUniform, -(float)Math.toRadians(entity.rotationPitch), (float)Math.toRadians(180+entity.rotationYaw), 0);
int fovyUniform = GL20.glGetUniformLocation(shader.getShaderProgram(), "fovy");
GL20.glUniform1f(fovyUniform, fov);
int fovxUniform = GL20.glGetUniformLocation(shader.getShaderProgram(), "fovx");
GL20.glUniform1f(fovxUniform, fov*Display.getWidth()/(float)Display.getHeight());
int sphericalUniform = GL20.glGetUniformLocation(shader.getShaderProgram(), "spherical");
GL20.glUniform1i(sphericalUniform, RayTracerSettings.spherical ? 1 : 0);
int stereoscopicUniform = GL20.glGetUniformLocation(shader.getShaderProgram(), "stereoscopic3d");
GL20.glUniform1i(stereoscopicUniform, RayTracerSettings.stereoscopic ? 1 : 0);
int eyeWidthUniform = GL20.glGetUniformLocation(shader.getShaderProgram(), "eyeWidth");
GL20.glUniform1f(eyeWidthUniform, 0.063f); //TODO input eyeWidth option
if (!pauseRendering) {
if (worldLoader == null) {
worldLoader = new WorldLoader();
}
if (worldLoader.dimension != mc.world.provider.getDimension()) {
worldLoader.dimension = mc.world.provider.getDimension();
}
worldLoader.updateWorld(entityPosX, entityPosY, entityPosZ, shader);
//Setup view
GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glPushMatrix();
GL11.glLoadIdentity();
GL11.glOrtho(-1, 1, -1, 1, -1, 1);
GL11.glMatrixMode(GL11.GL_MODELVIEW);
GL11.glPushMatrix();
GL11.glLoadIdentity();
//Bind vbo and texture
GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, shader.getVbo());
GL20.glEnableVertexAttribArray(0);
GL20.glVertexAttribPointer(0, 2, GL11.GL_BYTE, false, 0, 0L);
GL11.glBindTexture(GL11.GL_TEXTURE_2D, 8);
//Render
GL11.glDrawArrays(GL11.GL_TRIANGLES, 0, 6);
//Reset vbo and texture
GL11.glBindTexture(GL11.GL_TEXTURE_2D, 0);
GL20.glDisableVertexAttribArray(0);
GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);
//Reset view
GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glPopMatrix();
GL11.glMatrixMode(GL11.GL_MODELVIEW);
GL11.glPopMatrix();
}
//Stop using shader program
GL20.glUseProgram(0);
}
示例10: unbind
import org.lwjgl.opengl.GL20; //導入方法依賴的package包/類
public void unbind(int... attributes){
for (int i : attributes) {
GL20.glDisableVertexAttribArray(i);
}
unbind();
}
示例11: unbindTexturedModel
import org.lwjgl.opengl.GL20; //導入方法依賴的package包/類
private void unbindTexturedModel() {
GL20.glDisableVertexAttribArray(0);
GL20.glDisableVertexAttribArray(1);
GL20.glDisableVertexAttribArray(2);
GL30.glBindVertexArray(0);
}
示例12: disableAttribs
import org.lwjgl.opengl.GL20; //導入方法依賴的package包/類
public void disableAttribs(int... attribs) {
for (int i : attribs) {
GL20.glDisableVertexAttribArray(i);
}
}
示例13: unbindTexturedModel
import org.lwjgl.opengl.GL20; //導入方法依賴的package包/類
private void unbindTexturedModel() {
GL20.glDisableVertexAttribArray(0);
GL20.glDisableVertexAttribArray(1);
GL20.glDisableVertexAttribArray(2);
GL30.glBindVertexArray(0);
}
示例14: render
import org.lwjgl.opengl.GL20; //導入方法依賴的package包/類
public static final void render() {
shader.start();
Renderer.blendFunction(BlendFunction.NONE);
for (final Chunk chunk : Chunk.CHUNKS) {
if (chunk.model == null || !chunk.render) continue;
GL30.glBindVertexArray(chunk.model.id);
GL20.glEnableVertexAttribArray(0);
GL20.glEnableVertexAttribArray(1);
GL20.glEnableVertexAttribArray(2);
GL20.glEnableVertexAttribArray(3);
shader.loadTransformationMatrix(MatrixCreation.createTransformationMatrix(new Vec3(chunk.x * Chunk.H_SIZE, 0, chunk.z * Chunk.H_SIZE), new Vec3(), new Vec3(1, 1, 1)));
GL11.glDrawArrays(GL11.GL_TRIANGLES, 0, chunk.model.vertexCount);
GL20.glDisableVertexAttribArray(0);
GL20.glDisableVertexAttribArray(1);
GL20.glDisableVertexAttribArray(2);
GL20.glDisableVertexAttribArray(3);
GL30.glBindVertexArray(0);
}
shader.stop();
}
示例15: end
import org.lwjgl.opengl.GL20; //導入方法依賴的package包/類
public static final void end() {
if (HandModel.MODEL == null) return;
Texture.unbind(0);
GL20.glDisableVertexAttribArray(0);
GL20.glDisableVertexAttribArray(1);
GL20.glDisableVertexAttribArray(2);
GL30.glBindVertexArray(0);
GL11.glEnable(GL11.GL_DEPTH_TEST);
}