(废弃)JOGL入门 第6课

本文介绍了使用JOGL进行纹理映射的基本方法,通过修改UV坐标来改变纹理的表现形式。文章提供了一个简单的示例代码,演示如何通过更新纹理坐标来实现动态纹理效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[size=large][color=red]声明:[/color][/size][color=blue]
本来是想写点东西,记录学习的过程,并希望能帮助同我一样刚刚学习JOGL的朋友们
可是由于没有明确目的,好心做了坏事,在这里先声明,本来是学习基本的JOGL,在
学习过程中却把朋友们带入到了JOGL+GL4java中,基本的没学扎实,这是很错误的.[/color]
[b]纹理[/b]
UV为2D纹理贴图坐标,在使用的时候,
改变贴图坐标的值,会发生各种变化
你可以在网上找到相关的说明
我这里给出个改变纹理值的代码,
其他自己慢慢研究了

在上一课的基础上,我进行一些修改
glTexCoord(0.0f, 1.0f);设置当前纹理坐标U,V
前面添加2个变量
float u=0.0f;
float v=1.0f;
把reader方法修改成下面
public void render(IGLRenderer glRenderer)
{
final IGL gl = glRenderer.getGL();
gl.glClear(IGL.GL_COLOR_BUFFER_BIT | IGL.GL_DEPTH_BUFFER_BIT);
gl.glLoadIdentity();
gl.glTranslate(0.0f, 0.0f, zOffset); //向屏幕里面移动zOffset个单位
//选择纹理
gl.glBindTexture(IGL.GL_TEXTURE_2D, texture[filter].id);
//绘制1个面
gl.glBegin(IGL.GL_QUADS);
gl.glTexCoord(u, v); gl.glVertex( -1.0f, -1.0f, -1.0f);
gl.glTexCoord(u, u); gl.glVertex( 1.0f,-1.0f, -1.0f);
gl.glTexCoord(v, u); gl.glVertex( 1.0f,1.0f,-1.0f);
gl.glEnd();

u+=0.01f;
v-=0.01f;

if(u>1)
{
u=0;
}
if(v<0)
{
v=1;
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值