位置: 编程技术 - 正文

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

  • 税金及附加包括印花税吗
  • 什么是电子银行渠道限额
  • 税前利润等于应纳税所得额吗
  • 年报从业人数可以填一人吗
  • 员工旅游费怎么记账
  • 软件工程质保金
  • 发票章盖金额上去了
  • 劳务 劳务报酬所得
  • 已缴企业所得税公司账户的钱怎么办
  • 收取车辆使用费怎么做账
  • 房产税和土地使用税会计分录
  • 退股分红什么意思
  • 在建工程试运行收入和成本怎么处理
  • 事业单位其他收入的会计分录
  • 货物正常报损的分录
  • 食堂购买食材明细表
  • 手撕发票怎么粘贴平整
  • 关于补充养老保险
  • 享受高新技术企业优惠的条件之一
  • 外币汇兑差额债券投资计入什么科目?
  • 进项发票抵扣范围
  • 老毛桃u盘启动盘制作工具怎么安装win10系统 老毛桃u盘安装win10系统图文教程
  • linux alias永久生效
  • 资产处置收益期末有余额吗
  • 企业报税流程图
  • mac auto tune
  • 如何在win10桌面上显示时钟
  • 汽车修理厂如何做账
  • linux中断原理
  • 微信小程序不方便
  • PHP:imagecolorstotal()的用法_GD库图像处理函数
  • vite中文网
  • 财产清查两种制度
  • php取mysql查询单条数据
  • 小说《从零开始》
  • 毕业设计基于51单片机多功能电子钟的设计
  • 农产品收购发票可以抵扣进项税额吗
  • 法律服务费属于什么服务
  • mongodb管理工具
  • 新建账簿的具体步骤
  • 农业技术服务费税率
  • 电子发票可以更改为纸质发票么
  • 个税系统中的离职怎么填
  • sqlserver数据库提示授权过期
  • mysql锁表机制
  • 个人所得税应纳税额
  • 外币报表折算差额可以转损益吗
  • 固定资产大修理支出摊销年限
  • 超市出租摊位交什么税
  • 企业间拆借资金要交印花税吗
  • 日本发票国内能用吗
  • 速动比率和流动比率的关系
  • 社保补缴收滞纳金吗
  • 退还多余的预收款项的会计分录
  • 法人银行贷款
  • 购车融资是什么意思
  • 税控盘的会计分录怎么做
  • 让渡是什么
  • 企业建账要求
  • win8.1补丁打不上
  • win10系统电脑如何共享
  • 使用筷子就餐会不会传染乙肝病毒
  • 电脑无法检测到麦克风怎么办
  • intel的me
  • vim的配置文件名
  • win10电脑提示
  • php运行时出现找不到该网页
  • android layer
  • unity3d插件手机版
  • 怎么设置网页就用指定浏览器
  • linux启动过程流程图
  • 常用的js框架有哪些
  • python中的字符型
  • linux下mysql如何自动备份shell脚本
  • js调用键盘
  • jquery easyui开发指南
  • python所有语句
  • python如何用pi
  • 开税票锁机怎么办
  • 债权收购协议书
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设