位置: 编程技术 - 正文

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

  • 耕地占用税税率变化历程
  • 个人独资企业要交税吗
  • 邮寄文件快递费账务处理
  • 合同资产在资产负债表中列入什么项目
  • 飞机票火车票汽车票抵扣进项税
  • 固定资产到期怎么处理
  • 商业保理公司票据贴现账务处理
  • 支票结算的账务处理
  • 资本公积的核算内容不包括
  • 管理费用是进项还是销项
  • 什么企业没有销售费用
  • 原材料采购没正式发票能否入账?
  • 短期借款计提利息例题
  • 企业财务会计制度范本
  • 小规模纳税人按月申报还是按季申报
  • 融资租赁资产如何入账
  • 建筑公司材料费属于什么科目
  • 编制会计报表利润表
  • 无票收入的账务怎么处理
  • 去年的发票今年能红字冲销吗
  • 生产性企业购买粽子可以开专票吗
  • 经济作物国家有什么补助吗
  • javascript遇到的问题
  • 电脑CPU性能天梯
  • 公允价值变动损益借贷方向增减
  • image driver
  • php的file函数
  • 应付未付工资企业所得税
  • 收到保险公司的赔款计入什么科目
  • 技术转让所得的税收优惠
  • php操作mysql数据库
  • vue移动
  • 董事长报销应该是怎样的流程
  • od输出结构
  • 港股上市公司股票代码
  • 逾期包装物押金收入计入什么科目
  • 怎么把其他应收款的转到其他应付款
  • 预收账款的借贷方向是加还是凿
  • 利润表上期数指的是什么
  • 室内装修专用什么意思
  • 资产处置收益的账务处理
  • 公司裁员怎么补偿
  • sql server 2005如何使用
  • sqlserver怎么清空表数据
  • 企业哪些行为是违法的
  • 应收账款坏账计提比例新标准
  • 一台设备分期开票数量
  • 出差补助办法
  • 企业未按照规定报送年度报告怎么办
  • 化肥贸易行业
  • 印花税减免退回会计分录
  • 报税中反写是什么意思
  • 我是海关企业员工英语
  • 固定资产明细账范本
  • sqlserver分页查询
  • centos7rpm安装命令
  • mac80211源码分析
  • win7系统如何卸载流氓软件
  • 如何在苹果电脑上下载软件
  • win7 mysql
  • 笔记本xp无线网络连接禁用启用不了
  • win10安装完后有多大
  • win7系统网速太慢怎么办
  • win7玩csgo掉帧怎么办
  • 输入法不跳出中文
  • [置顶]JM259194
  • shell脚本实现输出字母个数大于5的单词
  • perl chr
  • uinty实现玩家跟随鼠标位置平滑旋转角度
  • 浅析学校德育的个体智能发展功能
  • linux更换用户登录命令
  • JavaScript中的数据类型分哪为两大类?
  • go语言websocket
  • 轮廓模式
  • 深入理解Python特性 达恩·巴德尔
  • 出口退税中的留抵税额
  • 深圳龙华区税务局大浪税务所电话
  • 简述纳税人与负税的区别
  • 银行服务创新金点子
  • 车辆购置税非本人可以代缴吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设