声明:
本来是想写点东西,记录学习的过程,并希望能帮助同我一样刚刚学习JOGL的朋友们
可是由于没有明确目的,好心做了坏事,在这里先声明,本来是学习基本的JOGL,在
学习过程中却把朋友们带入到了JOGL+GL4java中,基本的没学扎实,这是很错误的.
雾效果
哎,天天忙毕业设计又要学其他,还要上课,时间紧又一段时间想写
都没的时间,今天刚好可以缓下。
在上课中 我们画的图形本来是正方体但变形了,是由于窗口设置的
问题我在 reshape if(height == 0) height = 1;后添加下面的代码
问题解决了
if(width>height)
{
gl.glViewport(0,(height-width)/2, width, width);
}else
{
gl.glViewport((width-height)/2, 0, height, height);
}
下面是雾的效果,在init final IGL gl = glRenderer.getGL()下面
添加下面的代码,
gl.glClearColor(0.5f, 0.5f, 0.5f, 1.0f);
// 设置背景的颜色为雾气的颜色
float[] fogColor = new float[]{0.5f, 0.5f, 0.5f, 1.0f};
gl.glFog(gl.GL_FOG_COLOR, fogColor);// 设置雾的颜色
gl.glFog(gl.GL_FOG_MODE, gl.GL_EXP2);// 设置雾气的模式
gl.glFog(gl.GL_FOG_DENSITY, 0.2f);// 设置雾的密度
gl.glFog(gl.GL_FOG_START, -10.0f);// 雾气的开始位置
gl.glFog(gl.GL_FOG_END, -10.5f);// 雾气的结束位置
gl.glHint (gl.GL_FOG_HINT, gl.GL_DONT_CARE);
gl.glEnable(gl.GL_FOG);// 使用雾气
运行后效果还可以
gl.glFog(gl.GL_FOG_MODE, gl.GL_EXP);建立雾的过滤模式。
它保存了值GL_EXP, GL_EXP2,GL_LINEAR。现在是使用他们的时候了。
我来解释它们(具体见红皮书,其实这是计算雾效混合因子的三种方式):
GL_EXP - 充满整个屏幕的基本渲染的雾。
它能在较老的PC上工作,因此并不是特别像雾。
GL_EXP2 - 比GL_EXP更进一步。
它也是充满整个屏幕,但它使屏幕看起来更有深度。
GL_LINEAR - 最好的渲染模式。物体淡入淡出的效果更自然。(这个效果我没有实现
视乎那么我没设置好,或哪里我弄错了)
gl.glFogf(gl.GL_FOG_COLOR, fogcolor);设置雾的颜色。
之前我们已将变量fogcolor设为(0.5f,0.5f,0.5f,1.0f),这是一个很棒的灰色。
gl.glFog(gl.GL_FOG_DENSITY,0.35f);这行设置雾的密度。
增加数字会让雾更密,减少它则雾更稀。
gl.glHint (gl.GL_FOG_HINT, gl.GL_DONT_CARE); 设置修正。我使用了GL_DONT_CARE因为我不关心它的值。
gl.glFog(gl.GL_FOG_START,1.0f);设定雾效距屏幕多近开始。
你可以根据你的需要随意改变这个值
gl.glFog(gl.GL_FOG_END, 5.0f);
告诉OpenGL程序雾效持续到距屏幕多远。
代码中在效果方面还不是很好,你可以自己研究,把效果做的更好
分享到:
相关推荐
NULL 博文链接:https://hcqmaker.iteye.com/blog/264676
jogl简介,jogl入门例子,jogl简介,jogl入门例子
nehe 的 Jogl教程源码,学习Jogl很好的参考材料
jogl简单入门例子,15个例子,已经包含了JOGL1.0,2.0的jar包
64bit的jogl包,里面包含jogl.jar,gluegen-rt.jar,已经四个解压dll文件
JOGL source code and project information can be found at: https://jogl.dev.java.net/ Numerous answers to common questions can be found on the JOGL forum: http://www.javagaming.org/index.php/board,...
英文版的jogl 4合1教程,很不错个人觉得jogl 比j3d要好
Nehe三维教程Jogl版
网上找到的关于JOGL的PDF格式的资料
jogl的官方api,英文版的,你可以从里面了解到jogl的详细api信息
JOGL2版本在Eclipse里面配置的图文教程,通俗易懂
想做自己的3d游戏么 想知道用java怎么实现opengl那样炫的效果么物超所值导入myeclipse工程直接可以使用.还等神马骚年.下载吧 注意有个别类没修改完不过这可是俺修改的最新jogl教程
整理好的关于搭建jogl开发环境需要的相关jar包、动态链接库(包括32为系统和64位系统的)以及相关的src和开发文档。
nehe-source JOGL学习代码
Java+Opengl Jogl的单机开发示例 看懂了这个你就可以用Jogl开发三维程序了
jogl-2.0-windows-i586
JOGL2版本在Eclipse里面的详细图文操作教程,完全原创,同俗易懂
JAVA JOGL WIN32,,,大家有可能已经发现现在的JOGL.JAR包中没有creatCanvas creatJpanel等方法,我的这个有,多多共享,多多贡献
里边包括:jogl架包,system32所需要文件。研究jogl,opgl的可以看看
Java JOGL Demo 雷电游戏.zipJava JOGL Demo 雷电游戏.zip Java JOGL Demo 雷电游戏.zipJava JOGL Demo 雷电游戏.zip Java JOGL Demo 雷电游戏.zipJava JOGL Demo 雷电游戏.zip Java JOGL Demo 雷电游戏.zipJava ...