位置: 编程技术 - 正文

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

  • 生产企业免抵退税申报步骤
  • 企业所得税的成本是含税还是不含税
  • 包装纸箱属于原材料吗
  • 全年一次性奖金税收计算器
  • 怎么样办理银行卡?
  • 摊销租金是什么意思
  • 成本大于收入可以吗
  • 油罐车运输费用怎么算
  • 加速折旧的例子
  • 领购纳税人状态注销或转非日期什么意思
  • 普通发票每个月有限制吗
  • 物业维修收费合理吗
  • 分公司是否需要章程
  • 个体户需要记账嘛
  • 自行生产的存货转固定资产怎么做账
  • 销售商品抹零需要怎么入账
  • 公司新增注册资本
  • 微软输入法打不出汉字只有拼音
  • windows10如何关闭病毒和威胁防护设置
  • 红字增值税专用发票是什么
  • 房地产企业个人所得税
  • Win11安卓子系统怎么安装apk
  • 装饰装修工程月薪多少
  • 在windows7操作具有
  • windows11右键菜单设置
  • PHP:curl_multi_setopt()的用法_cURL函数
  • 未取得合法有效凭证可以税前扣除
  • 微信小程序怎么制作自己的小程序
  • 微信小程序游戏手游排行榜
  • linux rm 命令
  • photo-sphere-viewer中文文档
  • CNN卷积神经网络/手写数字识别[VHDL][MATLAB]带源码
  • dir命令linux
  • 汇率一般是以几位数来显示
  • 分公司二季度安全生产分析会内容
  • 银行承兑到期后几天内有效
  • 2022最新款带采集功能抖音壁纸小程序源码
  • db2之间的数据库迁移
  • mongodb的基本操作
  • 织梦图集的使用教程
  • 甲公司购入一台不需要安装
  • 所得税多交退回分录
  • 认证已过期请重新登录
  • 所得税费用该怎么算
  • 商业折扣影响主营业务成本吗
  • 房地产开发成本和房地产开发产品
  • 固定资产溢余
  • 企业设备融资是什么意思?
  • 工业用电交税怎么算
  • 公司团体体检一般什么价位
  • 专用发票过期未认证最新规定
  • 收据可不可以做账
  • 剩余股利政策发放股利后的年末未分配利润
  • sqlserver 千万数量级分页存储过程代码
  • Win7系统重装后开不了机
  • redhat gui
  • 运行方式包括什么方式
  • hpz12进程
  • P2P Networking2.exe - P2P Networking2是什么进程 有什么用
  • win7升级win10系统要多久
  • win10系统自带功能
  • linux012
  • lua struct
  • jsonarray fromobject
  • JavaScript中对象方法的创建
  • 一个简单的灵魂
  • bc1998录制的css视频教程推荐新手看下
  • js动态创建元素链接
  • 纯js代码实现一进一出
  • 发送邮件python
  • angularjs1.5
  • 利用python做一个文字小游戏
  • 安卓解析工具
  • 深入理解新发展理念,推进供给侧结构性改革
  • JavaScript While 循环 教程
  • python语言中
  • 国家税务2018年61号附件
  • 出口退税企业分类管理等级
  • 国税电子版
  • 什么是重点群体
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设