osgfbo(七)纹理坐标的另一种表示方法

这篇具有很好参考价值的文章主要介绍了osgfbo(七)纹理坐标的另一种表示方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在此,先修改下osgfbo(五)中纹理坐标的表示方法,不是说osgfbo(五)中的做法不对,而是我更愿意明确的把纹理坐标数组赋值到(0,1)之间。即
1,设置纹理坐标
osg::ref_ptrosg::Vec2Array texCoord = new osg::Vec2Array;
texCoord->push_back(osg::Vec2(0.0, 0.0));
texCoord->push_back(osg::Vec2(1.0, 0.0));
texCoord->push_back(osg::Vec2(1.0, 1.0));
texCoord->push_back(osg::Vec2(0.0, 1.0));
2,将纹理坐标按照以前传递shader数组的方式,传递到shader(注意,序号不能为0,这里设置为1)

geom->setVertexAttribArray(1, texCoord, osg::Array::BIND_PER_VERTEX);
//geom->setTexCoordArray(0, texCoord);

3,在shader之前传递纹理坐标变量(这里也设置为1)

		program1->addBindAttribLocation("texCoord", 1);

4,在shader中,顶点shader改为

static const char * vertexShader =
{
“in vec2 texCoord;\n”
“varying vec2 outTexCoord;”
“void main(void)\n”
“{\n”
“outTexCoord = texCoord;\n”
" gl_Position = ftransform();\n"
“}\n”
};

5,传递给片元着色器

static const char *psShader =
{
“varying vec2 outTexCoord;”
“uniform sampler2D tex0;”
“void main(void)\n”
“{\n”
“gl_FragColor = texture2D(tex0,outTexCoord);”

"}"

"}\n"

};文章来源地址https://www.toymoban.com/news/detail-405223.html

到了这里,关于osgfbo(七)纹理坐标的另一种表示方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SQL100 确定最佳顾客的另一种方式(二)

    OrderItems表代表订单信息,确定最佳顾客的另一种方式是看他们花了多少钱,OrderItems表有订单号order_num和item_price商品售出价格、quantity商品数量 order_num item_price quantity a1 10 105 a2 1 1100 a2 1 200 a4 2 1121 a5 5 10 a2 1 19 a7 7 5 Orders表含有字段order_num 订单号、cust_id顾客id order_num cust_id a1

    2023年04月22日
    浏览(64)
  • 拥抱jsx,开启vue3用法的另一种选择??

    公司高级表单组件ProForm高阶组件都建立在jsx的运用配置上,项目在实践落地过程中积累了丰富的经验,也充分感受到了jsx语法的灵活便捷和可维护性强大,享受到了用其开发的乐趣,独乐乐不如众乐乐,为了帮助大家更好的运用jsx,开发提效,特此总结分享。 以往我们开发

    2024年02月08日
    浏览(78)
  • 智能家居的另一种形式:智能家居中心的技术架构

    作者:禅与计算机程序设计艺术 随着智能设备的普及、互联网技术的飞速发展以及人们对智能家居产品的追求,越来越多的人选择将家居环境变成一个“智能”的地方,比如通过智能安防系统、智能遥控器、智能监控等方式帮助用户实现更加精细化的生活控制和场景管理。但

    2024年02月07日
    浏览(50)
  • git提交的时候出现异常“bad object HEAD”的另一种解决方案

    Git仓库是目前很主流的代码管理工具,一旦被损坏或出现异常,内心想直接吐血。 当进入到Git仓库执行命令: git status 显示: fatal: bad object HEAD 在此尝试用git checkout git reflog 等命令希望能恢复,但都是提示错误。在网上搜索大部分看到的是如下的解决方式: 但是我的代码分

    2024年02月02日
    浏览(50)
  • STM32-HAL库08-TIM的输出比较模式(输出PWM的另一种方式)

    STM32F103C6T6最小系统板 STM32CUBEMX(HAL库软件) MDK5 示波器或者逻辑分析仪 通过定时器TIM的输出比较模式得到预定频率与占空比的PWM波形;其中定时器输出比较模式与PWM模式的区别在于!!! PWM模式在同一个TIM下所有输出口的频率一致不能单独控制单个的频率 ,而输出比较模式

    2024年02月03日
    浏览(47)
  • 另一种迁移xxl-job任务的方法,适合不满足数据迁移条件

    以为多个项目组同时使用一个xxl-job,同时涉及到版本提升,由此不太满足数据库数据迁移,所以这里提供另一种解决办法 使用工具:postman,json转excel,excel 核心:excel拼接: 1.使用f12抓取xxl任务访问列表请求; 2.使用postman import将curl导入,并修改请求参数,将所有的内容一次

    2023年04月14日
    浏览(32)
  • 路由器端口转发&远程桌面控制:一电脑连接不同局域网的另一电脑

    一、引言          路由器端口转发 :指在路由器上设置一定的规则,将外部的数据包转发到内部指定的设备或应用程序。这通常需要对路由器进行一些配置,以允许外部网络访问内部网络中的特定服务和设备。端口转发功能可以实现多种应用场景,例如远程桌面、FTP、

    2024年04月15日
    浏览(45)
  • 完美匹配:一种简单的神经网络反事实推理学习表示方法

    英文题目:Perfect Match: A Simple Method for Learning Representations For Counterfactual Inference With Neural Networks 翻译:完美匹配:一种简单的神经网络反事实推理学习表示方法 单位: 论文链接:https://arxiv.org/pdf/1810.00656.pdf 代码: 摘要:从观测数据中学习反事实推理的表示对于许多领域(如医

    2024年02月16日
    浏览(34)
  • 在局域网中的另一台主机如何访问WSL中的MiniKube生成的微服务

    我在WSL(Windows Subsystem for Linux)安装了Minikube中并设置好了Kubernetes环境。在Kubernetes环境中配置好微服务后,从局域网中的另一台主机无法访问WSL中的MiniKube生成的微服务,通过网络转发解决了这个问题。 设置Minikube可参考How to Install Minikube on Ubuntu 22.04 / 20.04,验证在WSL(Wind

    2024年02月12日
    浏览(46)
  • 智能车竞赛模糊PID过程详解,附matlab模拟代码,使用的C代码在我的另一篇文章中

    目录 普通位置式PID控制  模糊PID控制 区间划分 模糊化 清晰化 改进 模糊PID的MATLAB代码 模糊PID的m测试使用文件,可一步步运行了解详细过程 模糊PID的主函数和功能函数matlab代码 模糊PID的使用和调参技巧 PID 控制分为比例,微分,积分三项,其公式如下: U (t) = Kp ∗ err (t)

    2024年04月16日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包