位置: 编程技术 - 正文

OpenGL cube map方式实现的环境贴图●如何设置相机(opengl clamp)

编辑:rootadmin

推荐整理分享OpenGL cube map方式实现的环境贴图●如何设置相机(opengl clamp),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:opengl bloom,opengl cullface,opengl clamp,opengl batch,opengl cullface,opengl sample,opengl context for format,opengl sampler,内容如对您有帮助,希望把文章链接给更多的朋友!

对cube map有一些了解的朋友都知道,如果要在物体表面实现镜面反射的效果,需要在物体的中心设置一个相机,沿&#;X,-X,&#;Y,-Y,&#;Z,-Z六个方向分别取景,渲染到cube map的六个子texture中。

设置相机的时候,一般都不会弄错相机的朝向,但是,估计很多人搞不清楚相机的UP方向。

网络上的资料很少论及这个问题,因此,决定自己做一个简单的小实验,彻底搞清楚这个问题。为此,准备了下面的6张图片,分别充当cube map的六个子texture。

使用cube map方式将它们渲染到一个正方体表面,观察它们的方向,使用的vertex shader代码如下:

fragment shader代码如下 我们要观察正方体的六个面,但是每次只能看到它的三个面。

为了观察&#;X,&#;Y,&#;Z面,我们需要剔除物体的背面,只渲染正面:

渲染的结果如下:

为了观察-X,-Y,-Z面,我们需要剔除物体的正面,只渲染背面:

渲染结果如下:OpenGL cube map方式实现的环境贴图●如何设置相机(opengl clamp)

结论如下,(使用OpenGL的cube map)生成环境贴图的时候:

①当相机朝向&#;X,-X,&#;Z,-Z方向的时候,其UP方向都是&#;Y方向;

②当相机朝向&#;Y方向的时候,其UP方向是-Z方向

③当相机朝向-Y方向的时候,其UP方向是&#;Z方向

其实&#;得注意的只是顶部和底部的&#;Y和-Y两个方向。有一个比较傻瓜的做法是:渲染&#;Z方向之后,就让相机后仰°,就可以渲染&#;Y方向了;渲染&#;Y方向之后,就让相机前倾°,就可以渲染-Y方向了。

以下图片可以帮助大家更好地理解cube map各个子texture之间的关系:

最后,提个醒,使用glTexImage2D()或glTexStorage2D()为GL_TEXTURE_CUBE_MAP_POSITIVE_X、GL_TEXTURE_CUBE_MAP_NEGATIVE_X、GL_TEXTURE_CUBE_MAP_POSITIVE_Y...分配空间的时候,width和height必须相等,也就是说图片的长和宽必须相等,不然就会返回错误。因为这个问题,笔者耽搁了两天,差点唾弃自己的intel核显

CodeBlocks下的freeglut环境配置(一)(附图文) 记得我以前调配环境的时候,查阅各种博客,各种英文官方文档,未能得其要义,真可谓目断长途也,一望一回远,而今蓦然回首,才知道是如此的简

在android使用OPENGL总结 Android为OpenGLES支持,提供GLSurfaceView组件,这个组件用于显示3D图形。GLSurfaceView本身并不提供绘制3D图形的功能,而是由GLSurfaceView.Renderer来完成SurfaceView

opengl示例代码在vs上编译不过 官方解释,需要在includeglut.h前#ifndefGLUT_DISABLE_ATEXIT_HACK#defineGLUT_DISABLE_ATEXIT_HACK#endif

标签: opengl clamp

本文链接地址:https://www.jiuchutong.com/biancheng/369662.html 转载请保留说明!

上一篇:我的第二个opengl程序(我的第二个姐姐用英语怎么说)

下一篇:CodeBlocks下的freeglut环境配置(一)(附图文)(codeblocks视频教程)

  • 小规模销售收入要做销项税额吗
  • 上年度暂估的票回不来一直挂帐吗
  • 租入厂房再转租账要怎么做
  • 什么情况需要预缴增值税
  • 保理利息计算公式
  • 代收污水处理费免税
  • 本地的住宿费怎么交
  • 创立一个公司,公司的运营理念
  • 固定资产公允价值减去处置费用后的净额
  • 出口押汇与打包押汇区别
  • 收到外币计算税款的汇率是怎么算的?
  • 其他应交款和应交税费
  • 公司股票卖出会计处理
  • 冲减留抵税额
  • 小微企业的免税标准
  • 财会〔2017〕22号:《企业会计准则第14号收入》的通知
  • 冲红发票还能二次冲红吗
  • 建筑服务中的其他建筑服务
  • 加盟费需要缴纳多少税
  • 申报附加专项扣除
  • 查看电脑开机时间记录win10
  • php技术基础知识
  • windows modules installer worker怎么禁用
  • 公司入股的钱叫什么
  • lsm.exe是什么程序
  • 税收返还的账务处理
  • 小规模纳税人销售货物税率是多少
  • 数字马力前端笔试题rgb
  • 管理费用属于产品成本项目的费用吗
  • thinkphp3.0
  • 图书管理系统的软件结构图
  • html用javascript
  • zendframework3中文手册
  • 出口退税税率差
  • 向境外企业支付咨询费
  • 劳务派遣小规模开票几个点
  • 个人接受现金捐赠的情况
  • 利润表中利息费用为负数是什么意思
  • 织梦系统
  • windows安装mq
  • 客户多付的货款计哪里
  • 生产型企业如何退税
  • 交易性金融资产入账价值怎么计算
  • 直接计入所有者权益的利得和损失,影响当期损益
  • 处理固定资产如何做账
  • 个体户怎么计算养老金
  • 一般纳税人销售旧货可以开专票吗
  • 为什么付款后没有记录
  • 本年利润的会计分录怎么写
  • 应付账款入账金额可以包括哪些内容?
  • 建筑行业每月报税
  • 会计忘记申报税款会有什么影响
  • 广告宣传费纳税调整额怎么算
  • 购入固定资产一次性扣除政策
  • 公用事业费属于什么会计科目
  • 未分配利润太大了怎么处理
  • sql数据库压缩能提高性能吗
  • 分页式存储管理中页的大小是可以不相等的
  • windows 配置
  • u极速u盘启动官网
  • linux怎样挂载
  • 解决mac上不能写字的办法
  • windows远程桌面怎么开启
  • propelac.exe - propelac是什么进程 有什么用
  • windows7开始菜单设置在哪里
  • windows7如何启动任务管理器
  • win7连接VPN时提示800错误怎么办 连接VPN时提示错误800解决方法
  • Win10 Mobile 14283红石预览版有哪些机型可以安装?
  • javascript Ext JS 状态默认存储时间
  • perl中my
  • css ie6 ie7 ff的CSS hack使用技巧
  • python文本处理教程
  • jquery解析html文本
  • js随机生成6位数
  • 如何用jquery
  • 创建简单的Web网页实验总结ASP
  • jquery prototype
  • [置顶]游戏名:chivalry2
  • unity中如何修改prefab
  • 举例说明jquery的功能
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设