位置: 编程技术 - 正文

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视频教程)

  • 二手房买卖避税违法吗
  • 息税前利润的计算公式EBIT
  • 礼品进项怎么做进项转出
  • 出口货物不报关走快递
  • 甲供材入账
  • 资产负债表的期初余额是年初余额吗
  • 完税凭证可以补办吗
  • 无形资产可以一次性摊销吗?
  • 股东经济性质怎么填
  • 外地建筑工程开票流程
  • 预付材料购货款计入什么科目
  • 赠送客户的商品怎么入账
  • 固定资产净残值率
  • 不含税价怎么转化为含税价
  • 收到社会保险基金管理局转来的失业保险金,社保代发
  • 发票报销哪些能用专票
  • 清包工简易征收文件
  • 关于补充养老保险
  • 研发人员工资加计
  • 股权增资稀释股价会涨吗
  • 股权购买会计分录
  • 商品流水账怎么做
  • 小规模纳税人未达到起征点的增值税怎么做账
  • 发票打偏了是否罚款
  • 使用时间长但金币不见了
  • 人力资源劳务外包服务开票
  • 2021年6月更新
  • swimsuitnetwork.exe - swimsuitnetwork是什么进程 有何作用
  • 应付债券包括
  • php遍历显示多维数组
  • 在资本相对充足的情况下,为什么还要进一步引进外资
  • 伏尔塔瓦河上的纤夫
  • 圣托里尼岛游玩攻略
  • 企业生产车间发生的费用会计科目
  • phpcms怎么用
  • 个税申报表收入额怎么填
  • 预算会计的核算对象是什么
  • 电子税务局里的自然人是什么意思
  • 应收账款的差额计入哪里
  • mac安装mysql8.0
  • mysql存二进制用哪个字段
  • 收入和成本的原则是什么
  • 个体户怎么交医保社保
  • 背书转让操作
  • 关于固定资产的说法
  • 计划成本法下的会计科目
  • 委托代理进口账务处理
  • 产品质量问题扣款账务处理
  • 债权投资有哪些科目
  • 可供分配利润是未分配利润吗
  • 财务会计与管理会计的区别与联系?谁更棒?
  • 建账内容
  • MySQL数据库常见的几种约束有哪些
  • centos 操作
  • linux输出结果
  • 双系统计算机怎么开机
  • xp怎么装系统步骤图解
  • win7系统如何调节电脑屏幕亮度
  • windows更新后一直在欢迎界面
  • ubuntu清空文件内容
  • 系统应用没有相机
  • mfc界面布局
  • 新手学做ppt
  • opengl自学
  • Node.js + Redis Sorted Set实现任务队列
  • nodejs引入模块
  • angularjs2
  • ui课程入门
  • 手机截取电脑屏幕
  • Unity 使用WWW类同步加载资源
  • boost源码编译
  • 重庆市国家税务局电子税务局官网
  • 没工作个人所得税还用下载吗
  • 新入职税务干部工作心得
  • 抚州到崇仁火车时刻表
  • 贵阳市税务稽查
  • 怎么查税务是否实名认证
  • 商贸有限公司怎么运营
  • 代理记账广告语怎么写
  • 怎么登录吉林省公务员网络培训学院
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设