当前位置: 首页 > 知识库问答 >
问题:

OpenGL只在java中绘制了许多列表中的最后四个

空慈
2023-03-14

我正在用Java中的LWJGL和OpenGl制作一个简单的2D游戏,我似乎无法渲染多个四边形。

我在主类中有一个包含<code>方块

如果有帮助的话,我的代码看起来非常像这个视频中的内容,因为我一直在关注这个和lwjgl:http://www.youtube.com/watch?v=EjbOjio_pC4上的wiki页面

方形类:

package dasting;

import org.lwjgl.*; //lwjgl engine
import org.lwjgl.opengl.*; //opengl
import static org.lwjgl.opengl.GL11.*; //Dunno yet, youtube said so
import org.lwjgl.LWJGLException; //Allows tries and catches with exception handling for LWJGL (IMPORTANT SHIT)
import java.util.Random; 

public class Square {

private int x1, x2, y1, y2, roomHeight, roomWidth;

//constructor takes the position values and width and height of room for boundary checks
Square(int X1, int X2, int Y2, int Y1, int rmWidth, int rmHeight) { 
    x1 = X1; //initialising the point values
    x2 = X2;
    y2 = Y2;
    y1 = Y1;
    roomHeight = rmHeight;
    roomWidth = rmWidth;
}

public void draw() { //draw method
    //Rendering random stuff example code. Also moves the square
    glClear(GL_COLOR_BUFFER_BIT);

    //Render quad
    glBegin(GL_QUADS);
        glVertex2i(x1, y1);
        glVertex2i(x2, y1);
        glVertex2i(x2, y2);
        glVertex2i(x1, y2);
    glEnd();
    }
}

这是openGl设置,我认为在我的主类中可能有问题:

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, roomWidth, roomHeight, 0, 1, -1); 
glMatrixMode(GL_MODELVIEW);

共有1个答案

查修谨
2023-03-14

你应该在每一帧都叫glClear,而不是每次画一个正方形。将对 glClear 的调用移出绘制函数,并将其放在绘制循环的开头。

 类似资料:
  • 设置:OpenGL ES 1.0,Android 术语背景图像在这里是指一个全屏纹理,绘制在两个三角形上,这两个三角形使全屏变成矩形。 如果我绘制完整的场景,包括背景图像,我得到黑色背景颜色而不是清晰的彩色背景,我看不到我的背景纹理显示 实现:

  • 我到处都找过了,我似乎无法让OpenGL绘制一个简单的四边形。窗口在正确的颜色背景下显示得很好,但OpenGL就是不会绘制框。我正在使用OpenGL 4.4.0-构建20.19.15.4463窗口大小为1920x1080 这是我目前拥有的代码: 在Main.java: 在实体框中:

  • 我试图在OpenGL中使用多个VAO和VBO渲染多个对象。使用相同的顶点渲染多个对象我已经做过了,但是我想做的是为每个对象使用不同的顶点,例如画一个正方形和一个圆形。对于一个正方形,我只需要6个顶点,但是对于圆,我需要360个顶点。我有阅读或创建着色器的错误。 以下是顶点着色器: 片段着色器: VAO和VBO的生成与绑定 以及渲染循环中的绘制调用: 我重复一遍,用我做过的相同顶点绘制多个对象。我需

  • 问题内容: 我正在学习有关使用OpenGL在Java中创建游戏引擎的教程。 我正在尝试在屏幕上渲染一个三角形。一切运行正常,我可以更改背景颜色,但三角形不会显示。我也尝试过运行作为教程系列的一部分提供的代码,但仍然无法正常工作。 链接至教程:http : //bit.ly/1EUnvz4 链接到视频中使用的代码:http : //bit.ly/1z7XUlE 建立 我试过检查OpenGL版本,但相

  • 我正在编写一个可视化洞穴的OpenGL程序,所以当我可视化地表地形时,我希望它是透明的,这样你就可以看到下面的洞穴了。我假设我可以将来自数字高程模型的数据归一化为一个网格,该网格以规则的间距对准x/z轴,并将每个网格单元格渲染为两个三角形。使用对齐的网格,我可以避免在应用画家的算法时进行排序的成本(以确保适当的透明度效果);相反,我可以逐行呈现单元格,从最远的行和每行最远的单元格开始。 这一切都很

  • 我能够创建一个窗口,并清除到所需的颜色。但无法在左下角绘制正方形。