社区
游戏开发
帖子详情
用opengl画一个玻璃效果的立方体
zogna
2008-08-18 09:22:08
最好有代码。
我是只能写出有融合效果的立方体,却没法透光。没玻璃那效果。。。
发至
gbaup_01@163.com
还有。我想让位置光源绕Z轴旋转。。。不知道怎么转。。。
是
pos={0,0,20,1.0};
旋转(角度,0,0,1);
glLIGHT(GL_POS,pos);
glEN(LIGHT0);
这样
还是什么的。。。。不清楚。。最好示范下。。
...全文
952
12
打赏
收藏
用opengl画一个玻璃效果的立方体
最好有代码。 我是只能写出有融合效果的立方体,却没法透光。没玻璃那效果。。。 发至 gbaup_01@163.com 还有。我想让位置光源绕Z轴旋转。。。不知道怎么转。。。 是 pos={0,0,20,1.0}; 旋转(角度,0,0,1); glLIGHT(GL_POS,pos); glEN(LIGHT0); 这样 还是什么的。。。。不清楚。。最好示范下。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zogna
2008-08-27
打赏
举报
回复
用shader怎么做。我试了下3DSlab的GLSL Dome。里面有关于glass的shader代码。。可是我渲染了一次。。全是黑黑的。。。
zogna
2008-08-26
打赏
举报
回复
那窗户呀。。我看看。。好象没画玻璃上去
needallcodes
2008-08-26
打赏
举报
回复
本来就是个窗框...
我又想了想, 试试打开辐射光效果满意不, 记得好像叫emission什么的
那种亮晶晶的玻璃效果想都不要想了, 要想实现它,
你要自己计算至少一次光照,并把结果保存到一张纹理中,然后再融合
而且计算过程中的光照,实际并不一定是光照,而是另一张纹理,
说不清楚,你还是搜下文章吧, 基本上这样的效果要是不用shader会很慢,CPU不是专门算这个用的,你得把任务交给GPU
yale13
2008-08-25
打赏
举报
回复
opengl红宝书你有么?那个书的封皮就是一个窗户可以透到外面去看物体的~你去看看那本书上怎么实现那个效果的~
zogna
2008-08-24
打赏
举报
回复
可是这个不透光线哦~
那颜色我贴错代码了。。
needallcodes
2008-08-24
打赏
举报
回复
你是说要有光从另一侧投射过来的效果?
那你想办法用纹理来表现你的光效吧,只能想到这里了
我看用opengl直接提供的方法是不可能实现你说的效果的, 只能用4楼所说的那些技巧和算法
zogna
2008-08-23
打赏
举报
回复
下面这样能做出玻璃效果吗?
我这代码还要改什么?
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_COLOR_MATERIAL);
GLfloat ambientColor[] = {0.4f, 0.4f, 0.4f, 1.0f};
GLfloat lightColor0[] = {0.6f, 0.6f, 0.6f, 1.0f};
GLfloat lightPos0[] = {0.0f, 0.0f, 10.0f, 0.0f};
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, ambientColor);
glLightfv(GL_LIGHT0, GL_DIFFUSE, lightColor0);
glLightfv(GL_LIGHT0, GL_POSITION, lightPos0);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glColor3f(0.3f, 1.0f, 0.3f);
画立方体
needallcodes
2008-08-23
打赏
举报
回复
glColor3f(0.3f, 1.0f, 0.3f);
这句没有alpha, 改下?
glColor4f(0.3f, 1.0f, 0.3f, 0.4f);
我试了下,一般的效果就是这样了
想要更真实些的,哪就得像4楼的兄弟说的方法了, 那个基本上是数学
引力场变动源
2008-08-22
打赏
举报
回复
实现玻璃效果的话,简单的方法就是设置顶点的透明度,把顶点颜色中的alpha通道设为0~1之间的值(有些场合是0~255)就可以了。
如果需要逼真的玻璃效果的话,关键的是光照和材质之类的问题,模型之类的都是非常简单的。这方面可以找一下光线跟踪啊、环境映射啊、辐射度啊,之类的算法,不过那些就有些深奥了。
sunw8371
2008-08-20
打赏
举报
回复
试试glmaterialf 设置透明度
zogna
2008-08-20
打赏
举报
回复
麻烦呀。。。我要玻璃效果。。我把光源放在立方体中间了。还是不行
yale13
2008-08-19
打赏
举报
回复
绕z轴旋转是glTranslatef(0,0,1)函数~玻璃效果我就不会了,不过估计是设置环境光的问题,你去看看opengl关于光线设置方面
OpenGL
基础及视频绘制
课程从0开始讲解通过
OpenGL
把常用像素格式的视频绘制到windows窗口上,我们这里并不是简单的绘制完视频就完事了,我们会对
OpenGL
有
一个
基础的学习,视频的绘制并不难,难的是对
OpenGL
的理解。如果想要轻松的驾驭视频...
【
OpenGL
】笔记二十四、
立方体
贴图
之前我们使用了不少2D形式的贴图,那么现在有没有其他类型的贴图呢?当然有,比如
立方体
贴图,它就是由6个2D贴图组合而成的: 那么为什么要把6张纹理合并到一张纹理中,而不是直接使用6个单独的纹理呢?
立方体
贴图有
一个
非常有用的特性,它可以通过
一个
方向向量来进行索引/采样。假设我们有
一个
1x1x1的单位
立方体
,要求某个点的纹理颜色是什么该怎么办呢?现在从这个
立方体
的中心出发,与
立方体
上要求的点之间能够形成
一个
方向向量,那么通过这个向量,我们就可以通过
立方体
贴图很方便的查到纹理颜色(因为也是可以从
立方体
贴图原点出
Learn
OpenGL
学习笔记—高级
OpenGL
06:
立方体
贴图
Learn
OpenGL
学习笔记—高级
OpenGL
06:
立方体
贴图1
立方体
贴图概述2 创建
立方体
贴图3 实现:天空盒3.1 加载天空盒3.2 显示天空盒3.3 优化4 环境映射4.1 反射 本节对应官网学习内容:
立方体
贴图 1
立方体
贴图概述 我们已经使用2D纹理很长时间了,但除此之外仍有更多的纹理类型等着我们探索 比如在games101的课程中,记录的这一节shading笔记中提到的各种纹理贴图。 在本节中,我们将讨论的是将多个纹理组合起来映射到一张纹理上的一种纹理类型:
立方体
贴图(Cube Map)。
Learn
OpenGL
->
立方体
贴图
Learn
OpenGL
->
立方体
贴图
OpenGL
学习笔记(八)-面剔除-帧缓冲-
立方体
贴图
参考网址:Learn
OpenGL
中文版 第四章 高级
OpenGL
4.4 面剔除 4.4.1 基本概念 1、
一个
3D
立方体
,从任意方向最多能同时看到3个面,以某种方式丢弃这几个看不见的面,能省下超过50%的片段着色器执行数。 2、如何确定物体的某
一个
面看不见?
一个
闭合形状的每个面都有两侧,每一侧要么面向用户,要么背对用户。面剔除能够检查所有面向观察者的面,并渲染它们,而丢弃那些背向的面。但要告诉
OpenGL
哪些是正向面和背向面,这可通过分析顶点数据的环绕顺序完成。 4.4.2 环绕顺序 1、当定义一组三角
游戏开发
8,304
社区成员
23,682
社区内容
发帖
与我相关
我的任务
游戏开发
游戏开发相关内容讨论专区
复制链接
扫一扫
分享
社区描述
游戏开发相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章