位置: 编程技术 - 正文

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

  • 小规模纳税人企业所得税税率
  • 购买车位的税费是多少钱
  • 个人所得税申报截止时间
  • 金融资产的构成
  • 合同取得成本如何结转
  • 社保当月增员次月扣费
  • 国库存款利息收入计入哪个预算收入科目
  • 机械租赁有哪些岗位
  • 减免税款如何申报
  • 私车公用油费计入什么科目
  • 个人如何开具增值税普票
  • 农产品收购发票怎么抵扣
  • 企业所得税弥补亏损明细表怎么看
  • 在固定资产中
  • 国债利息纳税调增还是减
  • 公司单位员工餐费怎么算
  • 营业外收入有哪些情况
  • 投标财务状况报告怎么提供
  • 出售汽车属于什么费用
  • 产品维修运费谁出
  • 境外投资亏损是否可以抵减境内盈利
  • 华为nova9参数配置中关村
  • 个体工商户应申报套餐无增值税吗
  • 羊毛衫变形了还能变回来吗
  • php字符串函数有哪些
  • nerosmartstart.exe - nerosmartstart是什么进程 作用是什么
  • 不动产经营租赁包括哪些内容
  • 所得税贷款利息扣除
  • php加入图片代码
  • wordpress登录入口
  • PHP:imagelayereffect()的用法_GD库图像处理函数
  • 详解 HttpServletResponse
  • 食堂维修费用计什么科目
  • 提交表单后重定向
  • 建信信托介绍
  • SpringBoot+Vue实现简单用户管理平台第一篇(后端接口设计)
  • 参加《2022 中国开发者影响力盛典》我的 4 重收获!
  • 长期待摊费用科目怎么使用
  • 长期待摊费用装修款如何摊销
  • 帐没做完怎么报增值税
  • 对公账户的备用金取现额度
  • 运输发票计算抵扣怎么报税
  • mongodb查看数据库大小
  • sqlloader-350错误
  • 24张图攻克border-image
  • BOM学习
  • 本月发生的费用,下月取得发票,怎么做账
  • 批发和零售业行业代码
  • SqlServer 2005 T-SQL Query 学习笔记(1)
  • 应交税金应交增值税年底转平吗
  • 个体户没有税务登记怎么开发票
  • 外币账户结汇至人民币账户
  • 业务招待费 纳税调增
  • 应收账款核算内容
  • 预收账款最后怎么处理
  • 开红字发票如何做分录?
  • 发票上的数量怎么填写
  • 团体意外保险能赔多少钱
  • 城市天然气管道爆炸
  • 专业收账公司合法吗
  • 阿拉伯数字转大写函数
  • SQL里类似SPLIT的分割字符串函数
  • Windows Server 2003服务器安全设置
  • centos真机安装后只有lo
  • win8电脑如何进入安全模式启动
  • mac电脑虚拟机怎么安装
  • linux安装vmvare
  • win10系统edge浏览器兼容性
  • linux如何操作数据库
  • w8系统一键恢复
  • 怎样判断滚动和滑动
  • window.close(); 关闭浏览器窗口js代码的总结介绍
  • jquery遍历div
  • unity ugui ngui
  • android studio如何用安卓手机模拟
  • android获取网络数据
  • 公司跨区迁移税务查账严吗
  • 群租房怎么举报电话
  • 未按时缴纳税款是什么行为
  • 个人所得税年申报与月申报区别
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设