JOGL白色质感?

2024-01-13

我正在尝试加载 Earth.png 并将其放置在三角形上。图像尺寸为 256x256。我已经按照在线教程进行了几个小时的研究,但三角形仍然保持白色。任何人都可以指出我正确的方向吗?

import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.IOException;
import java.io.InputStream;

import javax.media.opengl.*;
import javax.media.opengl.awt.GLCanvas;

import com.jogamp.opengl.util.texture.Texture;
import com.jogamp.opengl.util.texture.TextureData;
import com.jogamp.opengl.util.texture.TextureIO;

public class test implements GLEventListener {
    private Texture earthTexture;

    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 Test111");
        frame.setSize(700, 700);
        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
        // the window is asked to close
        frame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                frame.dispose();
                System.exit(0);
            }
        });
    canvas.addGLEventListener(new test());

    }


    @Override
    public void display(GLAutoDrawable arg0) {


        update();
        render(arg0);


    }

    private void update() {
        // TODO Auto-generated method stub

    }

    private void render(GLAutoDrawable drawable) {

        GL2 gl = drawable.getGL().getGL2();
        gl.glClear(GL.GL_COLOR_BUFFER_BIT);
        gl.glEnable(GL.GL_TEXTURE_2D);

        gl.glBegin(GL2.GL_TRIANGLES);                           // Begin drawing triangle sides

        earthTexture.enable();
        earthTexture.bind();

        // gl.glColor3f( 1.0f, 0.0f, 0.0f);                     // Set colour to red
    gl.glTexCoord2f(0.0f, 0.0f);
    gl.glVertex3f( 0.0f, 1.0f, 1.0f);                       // Top vertex
    gl.glTexCoord2f(-1.0f, -2.0f);
    gl.glVertex3f(-1.0f,-1.0f, 0.0f);                       // Bottom left vertex
    gl.glTexCoord2f(1.0f, -2.0f);
    gl.glVertex3f( 1.0f,-1.0f, 0.0f);                       // Bottom right vertex

        gl.glEnd();

    }

    @Override
    public void dispose(GLAutoDrawable arg0) {
        // TODO Auto-generated method stub

    }

    @Override
    public void init(GLAutoDrawable arg0) {
        GL2 gl = arg0.getGL().getGL2();

        // Load texture.
       try {
            InputStream stream = getClass().getResourceAsStream("earth.png");
           TextureData data = TextureIO.newTextureData(gl.getGLProfile(), stream, 100, 200, false, "png");
           earthTexture = TextureIO.newTexture(data);
       }
       catch (IOException exc) {
           exc.printStackTrace();
           System.exit(1);
       }


    }

    @Override
    public void reshape(GLAutoDrawable arg0, int arg1, int arg2, int arg3,
            int arg4) {
        // TODO Auto-generated method stub

    }



}

您将纹理绑定在 glBegin/glEnd 语句之间。必须这样做beforeglBegin。开始/结束对之间的纹理切换可能会被忽略。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JOGL白色质感? 的相关文章

  • createImage(int width, int height) 的问题

    我有以下代码 作为游戏的一部分每 10 毫秒运行一次 private void gameRender if dbImage null createImage returns null if GraphicsEnvironment isHea
  • 通过SOCKS代理连接Kafka

    我有一个在 AWS 上运行的 Kafka 集群 我想用标准连接到集群卡夫卡控制台消费者从我的应用程序服务器 应用程序服务器可以通过 SOCKS 代理访问互联网 无需身份验证 如何告诉 Kafka 客户端通过代理进行连接 我尝试了很多事情 包
  • 如何在 Firebase 远程配置中从 JSON 获取值

    我是 Android 应用开发和 Firebase 的新手 我想知道如何获取存储在 Firebase 远程配置中的 JSONArray 文件中的值 String 和 Int 我使用 Firebase Remote Config 的最终目标是
  • 不同类型的数组

    是否可以有一个包含两种不同类型数据的数组 我想要一个包含双精度型和字符串的数组 我尝试过 ArrayList
  • Spring Data JPA 选择不同

    我有一个情况 我需要建立一个select distinct a address from Person a 其中地址是 Person 内的地址实体 类型的查询 我正在使用规范动态构建我的 where 子句并使用findAll Specifi
  • 在 Wildfly 中与 war 部署共享 util jar 文件

    假设我有一个名为 util jar 的 jar 文件 该 jar 文件主要包含 JPA 实体和一些 util 类 无 EJB 如何使这个 jar 可用于 Wildfly 中部署的所有 war 无需将 jar 放置在 war 的 WEB IN
  • 什么时候可以在 Java 中使用 Thead.stop() ?

    Thread stop 的 Java 文档听起来好像如果您调用 Thread stop 世界就会终结 已弃用 这种方法本质上是不安全的 停止线程 Thread stop 导致它解锁所有已锁定的监视器 作为未经检查的 ThreadDeath
  • 如何检测 Java 字符串中的 unicode 字符?

    假设我有一个包含 的字符串 我如何找到所有这些 un icode 字符 我应该测试他们的代码吗 我该怎么做呢 例如 给定字符串 A X 我想将其转换为 AYXY 我想对其他 unicode 字符做同样的事情 并且我不想将它们存储在某种翻译映
  • 了解joda时间PeriodFormatter

    我以为我明白了 但显然我不明白 你能帮我通过这些单元测试吗 Test public void second assertEquals 00 00 01 OurDateTimeFormatter format 1000 Test public
  • 读取电子邮件的文本文件转换为 Javamail MimeMessage

    我有一个电子邮件原始来源的文本文件 直接从 gmail 复制 如果您单击 查看原始文件 您就会看到它 我想读入该文件并将其转换为 MimeMessage 如果您好奇为什么 我设置了 JavaMaildir 并且需要用电子邮件填充它的收件箱以
  • GWT 2.3 开发模式 - 托管模式 JSP 编译似乎不使用 java 1.5 兼容性

    无法编译 JSP 类 生成的 servlet 错误 DefaultMessage 上次更新 0 日期 中 0 时间 HH mm ss z 语法 错误 注释仅在源级别为 1 5 时可用 在尝试以开发模式在 Web 浏览器中打开我的 gwt 模
  • Freemarker 和 Struts 2,有时它计算为序列+扩展哈希

    首先我要说的是 使用 Struts2 Freemarker 真是太棒了 然而有些事情让我发疯 因为我不明白为什么会发生这种情况 我在这里问是因为也许其他人有一个想法可以分享 我有一个动作 有一个属性 说 private String myT
  • 在 SWT/JFace RCP 应用程序中填充巨大的表

    您将如何在 SWT 表中显示大量行 巨大是指超过 20K 行 20 列的东西 不要问我为什么需要展示那么多数据 这不是重点 关键是如何让它尽可能快地工作 这样最终用户就不会厌倦等待 每行显示某个对象的实例 列是其属性 一些 我想使用 JFa
  • java库维护数据库结构

    我的应用程序一直在开发 所以偶尔 当版本升级时 需要创建 更改 删除一些表 修改一些数据等 通常需要执行一些sql代码 是否有一个 Java 库可用于使我的数据库结构保持最新 通过分析类似 db structure version 信息并执
  • Spring-ws:如何从没有“Request”元素的 xsd 创建 Wsdl

    尝试为客户端实现 SOAP Web 服务 我需要一个 wsdl 文件来通过soapUI 测试该服务 但正如您在下面看到的 这个 xsd 没有 Request 和 Response 方法 所有请求和响应都被定义为基本 ServiceProvi
  • Android:无法发送http post

    我一直在绞尽脑汁试图弄清楚如何在 Android 中发送 post 方法 这就是我的代码的样子 public class HomeActivity extends Activity implements OnClickListener pr
  • 使用按钮作为列表的渲染器

    我想使用一个更复杂的渲染器 其中包含列表的多个组件 更准确地说 类似于this https stackoverflow com questions 10840498 java swing 1 6 textinput like firefox
  • 如何重新启动死线程? [复制]

    这个问题在这里已经有答案了 有哪些不同的可能性可以带来死线程回到可运行状态 如果您查看线程生命周期图像 就会发现一旦线程终止 您就无法返回到新位置 So 没有办法将死线程恢复到可运行状态 相反 您应该创建一个新的 Thread 实例
  • 配置“DataSource”以使用 SSL/TLS 加密连接到 Digital Ocean 上的托管 Postgres 服务器

    我正在尝试托管数据库服务 https www digitalocean com products managed databases on 数字海洋网 https en wikipedia org wiki DigitalOcean 创建了
  • 洪水填充优化:尝试使用队列

    我正在尝试创建一种填充方法 该方法采用用户指定的初始坐标 检查字符 然后根据需要更改它 这样做之后 它会检查相邻的方块并重复该过程 经过一番研究 我遇到了洪水填充算法并尝试了该算法 它可以工作 但无法满足我对 250 x 250 个字符的数

随机推荐

  • 处理 docmd.applyfilter 无结果

    我有一个 Access 应用程序 我在其中使用搜索功能 我在表单上有一个文本框和一个搜索按钮 它对用户在文本框中输入的任何内容进行通配符搜索 并在其他控件 文本和组合框 中显示记录 为了实现这一目标 我正在使用DoCmd ApplyFilt
  • 为什么 Composer 抱怨 ext-mongo 扩展?

    当我尝试使用composer安装doctrine mongodb odm bundle和doctrine mongodb时 它会抛出错误 composer require doctrine mongodb odm bundle doctri
  • 在 Gatsby 中设置环境变量

    我使用了这个教程 https github com gatsbyjs gatsby blob master docs docs environment variables md https github com gatsbyjs gatsb
  • GLSL 大气散射不随变换缩放

    我正在尝试在 GLSL 版本 4 10 中实现大气散射 我正在改编此 Shadertoy 着色器中的着色器https www shadertoy com view lslXDr https www shadertoy com view ls
  • 如何在R中为28个多图案例添加注释?

    I have 一个可容纳 28 个地块的空平台 par mfcol c 7 4 mar rep 1 4 oma rep 5 4 lapply 1 28 plot t n xaxt n yaxt n Question 我想知道我怎样才能添加所
  • 上传前预览图像

    我有一个包含四个图像的页面供用户选择 我希望用户能够在上传之前预览网站上的每个图像 下面的 JavaScript 代码仅适用于一张图像 但我希望它适用于通过上传的多张图像
  • Kotlin:在界面中指定输入约束

    假设我有以下界面 interface MathThing fun mathFunction x Int 假设我想对该函数施加的约束是 x 不能为负数 如何确保每次 MathThing 类型的对象不满足此 或任何其他任意 条件时 都会引发 自
  • Tampermonkey GM.xmlHttpRequest 不是函数

    我正在努力解决我的脚本问题 无论我尝试做什么 GM xmlHttpRequest 都会抛出错误 不是函数 我的其余代码工作正常 这是我的代码的删节版本 UserScript name FUT20 Autobuyer Menu namespa
  • 如何在应用程序暂停或销毁时停止服务,但在切换到新活动时不停止服务?

    目前我有一个Service我用它在应用程序打开时在后台播放声音文件 public class BackgroundSoundService extends Service MediaPlayer player public IBinder
  • 按(可能非唯一)值对哈希表进行排序

    我有一个将字符串映射到整数的哈希表 字符串是唯一的 但多个字符串可能会映射到同一个整数 我天真的方法是简单地将 Hashtable 反转为由 Hashtable 的值索引的 SortedList 但问题是 只要两个 Hashtable 的字
  • 适用于 iOS 的 HTML 编辑器 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有人可以推荐任何用于编辑 HTML 的原生 iOS 组件吗 我找不到任何谷歌搜索 文字学 http www textasticapp co
  • 从 td 标签获取 href 属性链接 BeautifulSoup Python

    我是 Python 新手 有人建议我使用 Beautiful soup 进行报废 但我遇到了一个问题 即根据第 4 列中的年份从 td 标签第 2 列中获取 href 属性 table class tableFile2 tr th widt
  • 如何断言 Rails 集成测试中没有路由匹配?

    我有一个 Rails 3 集成测试来测试我的路线 它包含以下测试 assert routing category url path foo url path controller gt foo action gt show category
  • 我想在数组中添加项目

    我正在尝试在空数组中添加项目 我正在使用 Dio 包发送 post 请求 所有其他代码都工作正常 但我在这里对这个问题很困惑 我拿了一个空数组 然后我尝试 setState 函数将项目添加到空列表中 每次按下列表时我都会打印该列表 但我得到
  • c++ 将没有时区的postgres时间戳转换为time_t

    我使用 libpq 库从 C 连接到 postgreSQL 我从 postgreSQL 请求并获取日期 没有时区的时间戳 但结果有一个我不知道如何修复的偏移量 Postgres 表 id date integer timestamp wit
  • Redis lua脚本不工作

    我创建了一个 redis lua 脚本来根据关键数据类型执行命令 local keyType redis call TYPE KEYS 1 if keyType string then return redis call GET KEYS
  • 有没有好的 Perl 自动化测试套件? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有人可以推荐一些好的 Perl 自动化测试套件框架吗 这实际上取决于您想要做什么 但这里有一些背景知识
  • 如何在 Android 中创建两个视图,每个视图使用 50% 的高度,除非其中一个较小?

    想象一个完整的 Android 设备屏幕 我希望它分为两个部分 上半部分包含文本 该文本可能大于可用空间 或不大于可用空间 因此文本将滚动 即 ScrollView 内的 TextView 下半部分包含一个 MapView 控件 具体看一些
  • joda - 解析 RSS 项目中 pubDate 的时区

    我正在使用 Joda 解析 RSS 项目中的 pubDate 日期必须采用 RFC 822 格式 http feed2 w3 org docs error InvalidRFC2822Date html http feed2 w3 org
  • JOGL白色质感?

    我正在尝试加载 Earth png 并将其放置在三角形上 图像尺寸为 256x256 我已经按照在线教程进行了几个小时的研究 但三角形仍然保持白色 任何人都可以指出我正确的方向吗 import java awt Frame import j