ProcessingJoy —— Processing 与 OpenGL 的交互入门【JAVA】【GLSL】

举报
ShaderJoy 发表于 2021/11/19 00:55:52 2021/11/19
【摘要】 效果图       代码与注释 通过以下这段代码和注释,可以基本了解,平时我们所使用的 Processing 语法为我们节约了大量的数据准备操作:比如顶点的坐标、顶点的卷绕索引、顶点的颜色、纹理的 uv 坐标等相关 buffer 的构造,以及如何开启相关顶点属性并传递给底层的 GL。 &nb...

效果图

 

 

 

代码与注释

通过以下这段代码和注释,可以基本了解,平时我们所使用的 Processing 语法为我们节约了大量的数据准备操作:比如顶点的坐标、顶点的卷绕索引、顶点的颜色、纹理的 uv 坐标等相关 buffer 的构造,以及如何开启相关顶点属性并传递给底层的 GL。

 


  
  1. import java.nio.ByteBuffer;
  2. import java.nio.ByteOrder;
  3. import java.nio.FloatBuffer;
  4. import java.nio.IntBuffer;
  5. import com.jogamp.opengl.GL;
  6. import com.jogamp.opengl.GL2ES2;
  7. // https://github.com/processing/processing/wiki/Advanced-OpenGL
  8. PShader shader;
  9. float a;
  10. float[] positions;
  11. float [] texcoords;
  12. // float[] colors; ///< 由于使用了纹理,所以顶点颜色这部分注释了,但是功能代码保留着
  13. int[] indices;
  14. /// @note 重要 !!!
  15. // 在我们将数据传递给OpenGL之前,我们需要将其转换为它能够理解的形式。
  16. // Java和本机系统可能不会以相同的顺序存储它们的字节,因此我们使用一组特殊的缓冲区类并创建一个足够大的 ByteBuffer来保存我们的数据,
  17. // 并告诉它使用本机字节顺序存储它的数据。然后我们将它转​​

文章来源: panda1234lee.blog.csdn.net,作者:panda1234lee,版权归原作者所有,如需转载,请联系作者。

原文链接:panda1234lee.blog.csdn.net/article/details/112684279

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。