位置: 编程技术 - 正文

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

  • 企业罚职工的钱违法吗?
  • 模具费入什么会计科目
  • 非居民企业直接投资居民企业取得股息
  • 计提资产减值准备金的纳税调整
  • 小规模纳税人每个月需要报什么税
  • 过路费普通发票可以抵税吗
  • 土地投资入股交什么税
  • 在建工程的招待费计入到哪个科目
  • 收到公司of
  • 地税附加税分录怎么做?
  • 增值税专票的收款人必须是个人嘛
  • 技术服务发票税率 5% 小规模
  • 股东投资款印花税多少
  • 购买国债兑现时要交税吗
  • 出口退税款计入收入总额吗
  • 成本法核算长期股权投资初始投资成本
  • 住房公积金利息怎么算的
  • 发票冲红后多交多少税
  • 固定资产后续支出是指固定资产在使用过程中发生的
  • 工程建设期间的借款利息
  • win10怎么清理剪切板
  • win10的电源设置
  • 如何预防电脑系统崩溃
  • PHP:zip_entry_open()的用法_Zip函数
  • PHP:mcrypt_module_close()的用法_Mcrypt函数
  • yolov3简介
  • 一般纳税人商业税负多少
  • react.strictmode
  • linux系统中安装auto dock
  • php封装app打包
  • 企业注销亏损怎么处理
  • 以固定资产抵账什么意思
  • 企业预付账款怎么做账
  • 企业购买的结构性存款怎样做账
  • 银行承兑到期后几天内有效
  • vue style import
  • 记账凭证摘要怎么填写
  • 应收帐款质保金
  • 制造费用和生产成本结转
  • 企业报废车辆如何做账
  • 不征税收入和免税收入有哪些项目
  • 员工休产假社保如何交
  • 固定电话机用装电池吗
  • 无形资产摊销账面价值
  • 外单位替本单位缴纳社保
  • 电影剧本稿费多少
  • 工会经费计提比例是应发工资还是实发工资
  • 固定资产报废会议纪要模板
  • 银行的手续费开票怎么开
  • 什么是应收账款管理
  • 企业什么情形必须签无固定期限合同
  • mysql修改表结构的命令
  • 虚拟机linux端mysql数据库无法远程访问的解决办法
  • 如何看xp系统
  • linux大型软件
  • centos7服务器配置
  • efi shell有什么用
  • win7怎么添加此电脑
  • window10怎么获取ip地址
  • 老电脑安装win7还是win8
  • win10剪贴板怎么调出来
  • 谷歌安装安卓
  • linux防火墙的主要内容
  • 在linux系统中,用来存放各种配置文件的目录
  • 阴影映射可视域分析
  • android基础入门教程
  • jquery jsonview
  • tree cmd
  • android应用开发基础
  • jquery easyui validatebox remote的使用详解
  • 浅析python中SQLAlchemy排序的一个坑
  • JavaScript数据类的特点
  • js响应事件的过程
  • qq个人资料显示王者战绩
  • jquery deferred对象
  • 国家税务局上的电子发票如何作废
  • 红字专用发票进什么科目
  • 税盘注销了怎么申报增值税
  • 武汉市国家税务总局第二稽查局
  • 湖北省税务发票
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设