标签: opengl

可以将NPT图像glTexImage2d转换为Pow-2纹理而无需额外分配?

我发现还有相当数量的驱动程序不支持NPOT纹理所以我试图改造我的2D引擎(基于OpenTK,而后者又基于OpenGL),而不是支持Texture2D依赖于GL_ARB_texture_rectangle.作为其中的一部分,我强制所有NPOTS纹理位图分配额外的空间,直到下一个2的幂大小,这样它们就不会在这些驱动程序上造成错误.我的问题是,我是否真的需要调整实际位图和纹理的大小并分配所有额外的内存,或者是否有办法告诉OpenGL我想要2次幂大小的纹理,但我只会使用左上角的一部分?

现在我的电话看起来像这样:

GL.TexImage2D(texTarget, 0, PixelInternalFormat.Rgba8, bmpUse.Width, bmpUse.Height, 0, PixelFormat.Bgra, PixelType.UnsignedByte, bits.Scan0);
Run Code Online (Sandbox Code Playgroud)

这是在我使bmpUse成为我的真实纹理位图的副本后,在右侧和底部有额外的空间.

opengl texture2d

0
推荐指数
1
解决办法
1163
查看次数

jogl四边形问题

我是使用OpenGL的新手,正在尝试使用jogl.我能够毫无问题地绘制三角形,但是当我尝试绘制四边形(在许多教程中使用)时,eclipse一直告诉我GL.GL_QUADS无法解决.

gl.glBegin(GL.GL_QUADS);
Run Code Online (Sandbox Code Playgroud)

不知道我做错了什么.

谢谢,

import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.media.opengl.*;
import javax.media.opengl.awt.GLCanvas;
import com.jogamp.opengl.util.*;

public class SimpleScene implements GLEventListener {
    public static void main(String[] args) {
        GLProfile glp = GLProfile.getDefault();
        GLCapabilities caps = new GLCapabilities(glp);
        GLCanvas canvas = new GLCanvas(caps);

        final Frame frame = new Frame("AWT Window Test");
        frame.setSize(300, 300);
        frame.add(canvas);
        frame.setVisible(true);

        // by default, an AWT Frame doesn't do anything when you click
        // the close button; this bit of code will terminate the program when
        // …
Run Code Online (Sandbox Code Playgroud)

java opengl jogl

0
推荐指数
1
解决办法
2566
查看次数

'glGetTexLevelParameter'未在此范围内声明

好吧,所以在任何人问之前,是的我确实<gl/gl.h>包括在内.任何人都知道为什么这个功能glGetTexLevelParameter没有出现?

c++ opengl sdl

0
推荐指数
1
解决办法
181
查看次数

纹理地址模式钳制,它如何工作?

我正在尝试了解纹理钳制在OpenGL或任何其他API中如何工作。我知道一个事实,您将操作定义为将范围从[0,1]扩展到任何值,但将其限制在边缘。

所以,如果我有一个伪代码功能:

unsigned int clampedTexel(float u, float v)
{
if(u < 0) u = 0;
if(u >= width) u = width-1;
if(v < 0) v = 0;
if(v >= height) v = height-1;
return image[u][v];

}


(来源:www.cs.unc.edu上的sud

对?所以,如果我超出范围,如u方向上的1.1,为什么不将其固定在末尾的黑色上?在此示例中,它不是黑色,而是白色。我误会了吗?为什么黑色旁边的值固定为白色?

或与边缘颜色交替的任何其他扩展名。请帮助我看看我要去哪里。

opengl textures mode

0
推荐指数
1
解决办法
1154
查看次数

opengl发生了什么?现在是什么样的噩梦?

我2年前用过opengl.在一个下午,我读了一个tuto,我画了一个立方体(然后学会了如何加载任何3D模型)并学会回家用鼠标移动相机.这很简单,不到100行代码.我没有完全得到管道,但我能够做点什么.

现在我需要为一些基本的东西刷新opengl,基本上我需要加载3D模型(任何模型)并在固定相机的情况下移动模型.我认为会是另一个下午.

我花了一天时间没有任何工作.我正在阅读推荐的tuto http://www.arcsynthesis.org/gltut/我没有得到任何东西,现在只绘制一个立方体你需要很多行并使用大量的缓冲区,使用一些特殊的着色器语法.. ..我到底想要画一个立方体.在它定义6个方面之前.

opengl发生了什么?有些人认为现在很好,我认为这是搞砸了.是否有任何简单的图书馆可以使我的生活更轻松?

opengl

0
推荐指数
1
解决办法
1403
查看次数

C++:跟踪已用时间

我正在寻找一种方法,能够知道自我的程序启动以来在任何给定时间已经有多少时间.一种计时器,在主代码执行其他操作时将继续运行,并且可以随时调用.

上下文是Windows上的OpenGL应用程序,并且知道正在按下哪些键盘键(使用glutKeyboardFunc),我想知道何时按下每个键.所有这些信息都写入一个XML文件,稍后将用于重放用户所做的一切.(有点像赛车游戏中的重播功能,但更简单).

c++ windows opengl glut

0
推荐指数
2
解决办法
2503
查看次数

OpenGL多边形渲染顺序

正如您所看到的:http://i.stack.imgur.com/ztM0v.png,某些多边形只是呈现在其他多边形上.有没有人有任何建议或相关阅读以正确的顺序呈现这些,以便它们不重叠?

c++ opengl render polygon

0
推荐指数
1
解决办法
1498
查看次数

为什么四边形片段的四个片段都要加阴影,即使多边形只覆盖其中一个?

如果一个三角形(多边形)例如只覆盖其中一个,为什么四个片段的四个片段都将被着色(计算它们的颜色)?

opengl directx graphics polygon fragment-shader

0
推荐指数
1
解决办法
335
查看次数

使用OpenGL从文本文件中绘制图像

我有一个包含三角形顶点的文本文件.我想在OpenGL窗口中绘制这个三角形; 但是,我对OpenGL很新,不知道从哪里开始.

任何人都可以指出我正确的方向或提供一个大致的概述,我可以如何开始这个问题?在此先感谢您的帮助.

c++ opengl text glut draw

0
推荐指数
1
解决办法
1586
查看次数

Ray-Sphere交叉点

OpenGL中是否有任何Ray球体交互代码.我真的需要了解该程序,所以我正在寻找它,但找不到它.这似乎是流行的问题,但我只能找到公式和基本原理而不是任何一个例子. http://wiki.cgsociety.org/index.php/Ray_Sphere_Intersection

我不知道该如何去做.这就是我得到的:http://www.sendspace.com/file/8gb6fj

你有没有人做过这件事,或者知道某些来源我可以获得该计划?

c++ opengl

0
推荐指数
1
解决办法
2万
查看次数

标签 统计

opengl ×10

c++ ×5

glut ×2

polygon ×2

directx ×1

draw ×1

fragment-shader ×1

graphics ×1

java ×1

jogl ×1

mode ×1

render ×1

sdl ×1

text ×1

texture2d ×1

textures ×1

windows ×1