位置: 编程技术 - 正文

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

  • 企业所得税成本调减怎么填
  • 什么合同不需要做结算
  • 企业进项发票不够销项开的多
  • 所得税审核费计入什么科目
  • 支付税点怎么做账
  • 增值税调整后开具发票
  • 缴纳了土地增值税怎么退
  • 装修期间用电
  • 企业完税凭证入账后怎么办理退税?
  • 存货周转天数计算公式是360还是365
  • 购入增值税税控系统专用设备为什么全额计入固定资产
  • 全资子公司如何证明自己的财产完全独立于母公司
  • 年终奖个人所得税缴纳标准
  • 设备采购计入什么科目
  • 小企业短期投资的核算应设置的会计科目有
  • 药品入库和出库必须执行什么制度
  • 一般公司的hr会查案底吗
  • php使用js
  • 个人投资额是什么意思
  • 销项负数发票怎么报税
  • windows优化设置
  • 运输发票符合什么要求
  • 子公司取得投资收益
  • 小规模纳税人按季度申报
  • 融资性售后回租是什么意思
  • h5调用海康摄像头
  • 企业应交税费科目
  • php文件上传用什么请求方法
  • 汇总纳税企业总分机构信息备案
  • 正则表达式大全(整理版)
  • php输出表格css
  • 利润表利息费用包括哪些科目
  • python的opencv
  • python中如何读取列表中的指定
  • 沙箱支付宝app正式版
  • 快速显示隐藏单元格
  • 个体户可以开多少免税发票
  • 福利部门领用材料计入什么科目
  • 物品登记制度
  • 电子汇票提示付款申请
  • sql server 创建数据表状态1第三行语法错误怎么回事
  • 个人对企业的例子
  • 同级财政和本级财政
  • 当月的进项税可以不认证吗?
  • 外经证预缴的附加税税率
  • 冲减应收账款该怎么处理
  • 对于相关人员培训存在的问题
  • 怎么算股本溢价
  • 税收返还要交税费吗
  • 跨年发票应该如何处理
  • 公司的进账能打到私人卡上
  • 机票的电子发票可以报销吗
  • 企业支付宝要交税吗?
  • 银行手续费必须开发票的规定
  • 支付劳务费需要什么原始凭证
  • 长期待摊费用什么时候结束摊销
  • mysql中的ifnull函数
  • 将u盘制作成u启动u盘启动盘
  • win8怎么查看系统版本
  • Win7系统打开设备和打印机里面什么都没有
  • 电脑蓝屏0X0000007B
  • fs是什么文件夹
  • win8 metro界面
  • linux服务器dns怎么设置
  • macbook xcode
  • 错误化
  • 方块大人
  • js实现计数
  • Unity导出的webgl能做AR吗
  • pull order
  • python字符串怎么用
  • javascript高级程序设计电子书
  • easyui怎么用
  • 焦点问题是什么
  • Android的事件处理机制是一种______机制
  • 专票购买方是对方公司吗
  • 湖北税务投诉电话
  • 减免性质代码怎么会自动选择
  • 深圳电子税务局app
  • 个人所得税全年不到60000,单月超过
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设