位置: 编程技术 - 正文

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

  • 企业所得税会计科目
  • 工程施工的材料购进计入哪里
  • 公司购买了地板可以退吗
  • 工资绩效被扣除怎么办
  • 外勤会计主要是干什么
  • 自然人税收管理系统换了电脑怎么恢复数据
  • 劳务分包企业所得税25%
  • 预付房租摊销账务处理
  • 收到的货品与实体不符
  • 租金收入摊销
  • 无使用价值的存货属于资产吗
  • 公司购买短期理财现金流量表怎么填
  • 案例分析一般纳税人的税负率怎么计算?
  • 会计审计合同
  • 转让股权怎么写简单
  • 利息收入要不要交增值税?
  • 离线发票在哪里查看
  • 变更办税人需要原办税人去吗
  • 其他出库单如何记账
  • 苹果怎么充电更好
  • gif图片查看软件
  • 交易性金融资产是什么意思
  • 股东实缴出资的证明
  • 第三方开发是什么意思
  • 其他应付款年末借方余额
  • keyemain.exe是什么
  • vue中的...
  • fastadmin 插件开发
  • PHP:mdecrypt_generic()的用法_Mcrypt函数
  • 公转私备注用途
  • nvidia显卡驱动怎么安装
  • 没有审计报告的情况说明
  • 保险赔款的会计分录
  • 税务局关于免税资格的审核认定
  • 生产企业 制造商
  • 奥勒松又叫什么
  • 即征即退增值税怎么申报
  • 微信账单可以打清单吗
  • 开发费用怎么入账
  • vue路由使用方法
  • python如何编写函数
  • 小微企业所得税优惠政策最新2022
  • 支租赁费用计提印花税吗
  • 如何计提所得税费用科目
  • 行政事业单位个税代扣怎么记账
  • 筹备期间费用怎么做分录
  • 公司茶水间管理规定
  • 通行费发票增值税申报怎么填写
  • 广告费的税额计入哪里
  • 累计折旧计提会计分录
  • 银行汇票该怎么做账
  • 发票融资贷款怎么做账
  • 企业做税务局迁移应该做哪些事情
  • 购买税控盘费用能全额抵扣吗
  • 应收账款应付账款借贷方都表示什么
  • 税后扣税
  • 工程项目分包需要招标吗
  • 旅游,饮食业会议内容
  • sqlserver substring函数使用方法小结
  • vcpkgsrv.exe是什么进程
  • fedora lts
  • ipad和macbook怎么交互
  • winxp系统用户不见了
  • linux 常用命令大全及其详解
  • 删除文件时出现错误是怎么回事
  • es6中的class常见使用场景
  • android 实例
  • shell脚本for循环 计算1到100的和
  • 写一个bat文件
  • python程序的开发过程
  • android sql语句
  • javascript的理解
  • android.net.wifi
  • js闭包的使用
  • 开票软件连接服务器失败什么原因
  • 税务局试用期
  • 买车险代收车船税合法吗
  • 怎么查个税交了多久
  • 个体户 零申报
  • 福建是高原还是平原
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设