OpenGL不会使用左上角坐标进行渲染

时间:2015-11-20 20:37:44

标签: opengl coordinates lwjgl slick2d

我用glOrtho()得到了我的投影矩阵设置:

glOrtho(-Application.HALF_WIDTH, Application.HALF_WIDTH, -Application.HALF_HEIGHT, Application.HALF_HEIGHT, 1, -1);

所以,当我在原点(0; 0)画一些东西时,opengl将它绘制在屏幕的中心。精细。但是现在我想翻转Y坐标,所以我将其更改为:

glOrtho(-Application.HALF_WIDTH, Application.HALF_WIDTH, Application.HALF_HEIGHT, -Application.HALF_HEIGHT, 1, -1);

当我尝试在(0; 0)(或任何位置)绘制时,它会出现黑屏。

什么可能导致这个问题? 附:我正在使用lwjgl

1 个答案:

答案 0 :(得分:4)

当改变y轴的方向时,基元的缠绕顺序也会改变。因此,如果启用了背面剔除,则必须通过设置

来调整绕组顺序
$(function () {
    var $displayarea = $(".display-area");
    var parentWidth = $('.display-area').parent().width();

    $displayarea.each(function () {
        if ($(this).width() > parentWidth) {
            $(this).css({
                background: 'black'
            });

        } else {
            $(this).css({
                background: 'red'
            });
        }
    });

});