首页 > 其他分享 >OpenGL中Shader LOD失效

OpenGL中Shader LOD失效

时间:2025-01-15 10:43:13浏览次数:1  
标签:社区 RenderDoc LOD OpenGL Shader UWA 问答

1)OpenGL中Shader LOD失效
2)DoTween的GC优化
3)开发微信小程序游戏有没有类似Debug真机图形的方法
4)射线和Mesh三角面碰撞检测的算法


这是第418篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。

UWA社区主页:community.uwa4d.com
UWA QQ群:793972859

Rendering

Q:我切换为OpenGL之后,发现切换Shader LOD的功能不能用了,切换为Vulkan没问题,但是OpenGL就不行。同样的Shader代码,同样的LOD配置。有什么解决思路吗?

切换为OpenGL之后,Frame Debugger抓帧,都看不到那些本来要绘制的物体,感觉是完全没有找到对应的LOD SubShader。

A:Unity引擎里没有处理好关于CBuffer变量的问题。如果CBuffer中有Shader用不到的变量,并且这个变量没有在Properties中定义,那么就会导致对应的Pass直接不渲染。

修改方法就是,要么直接去掉这些不用的CBuffer中的变量,要么增加对应Properties中的定义。

感谢付炳楠@UWA问答社区提供了回答


Script

Q:为什么DoTween中的APIGetTweener会有GC?因为没有DoTween的源码,不知道有什么替代方案吗?

A1:可以参考以下文章:
Demigiant/dotween: A Unity C# animation engine. HOTween v2

感谢zerolj@UWA问答社区提供了回答

A2:可以参考以下文章:
AnnulusGames/LitMotion: Lightning-fast and Zero Allocation Tween Library for Unity

感谢菜鸟@UWA问答社区提供了回答


Rendering

Q:开发微信小程序游戏有什么科学的Debug真机图形的方法吗?比如RenderDoc?

A1:推荐Frame Debugger,团结可用。

感谢tmp@UWA问答社区提供了回答

A2:1. 游戏可以在浏览器跑的话,可以用SpectorJS

  1. RenderDoc曾经也可以抓Chrome,但后来官方禁了,可能需要自己魔改编译一个RenderDoc。
  2. 也可以用MuMu模拟器+RenderDoc抓微信,MuMu需要开启Vulkan模式,RenderDoc开全局Hook,Attach到MuMu的进程上,但是抓到的是Vulkan的API。

感谢littlesome@UWA问答社区提供了回答

A3: RenderDoc可以考虑,但需要旧版本的RenderDoc。

或者配合模拟器截帧,或者Root的手机都可以,或者用浏览器都行,方式很多,个人推荐模拟器+截帧。

感谢司马老师@UWA问答社区提供了回答


Physics

Q:请问有没有射线和Mesh所有三角面碰撞检测的算法?

A:非常古早的DX9官方示例里面就有:
https://www.tutorialspoint.com/directx/directx_picking.htm

感谢Dang@UWA问答社区提供了回答

封面图来源于网络


今天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,我们遇到的问题只是冰山一角,UWA社区愿伴你同行,一起探索分享。欢迎更多的开发者加入UWA社区。

UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com
UWA学堂:edu.uwa4d.com
官方技术QQ群:793972859

标签:社区,RenderDoc,LOD,OpenGL,Shader,UWA,问答
From: https://www.cnblogs.com/uwatech/p/18672542

相关文章

  • 深圳大学-计算机图形学-实验一OpenGL基本绘制
    实验目的与要求掌握VisualStudioCommunity2019集成开发环境的安装;掌握CMake跨平台构建工具的安装;掌握Git版本控制工具的安装;掌握vcpkg库管理工具的安装;掌握系统环境变量的设置;了解和掌握OpenGL的环境配置;掌握OpenGL工程项目的建立和基本设置。理解OpenGL的原理;了解和熟......
  • Unity URP Shader Graph 实现复古电视机效果
    想到一出实现一出的复古电视机效果实现。复古电视机效果显示展示:使用素材一张纹理需要放映的图片,一张遮罩贴图,一个电视机模型。UV使用Spherize模拟电视机球状显示屏。扫描线A效果扫描线B效果像素化/随机UV偏移屏幕做旧效果边缘变暗效果屏幕黑边效果自制一张合适......
  • Three.js 实现光线行 Shader
    大家好!我是[数擎AI],一位热爱探索新技术的前端开发者,在这里分享前端和Web3D、AI技术的干货与实战经验。如果你对技术有热情,欢迎关注我的文章,我们一起成长、进步!开发领域:前端开发|AI应用|Web3D|元宇宙技术栈:JavaScript、React、ThreeJs、WebGL、Go经验经验:6年+......
  • 【c# Unity-Shader版本贪吃蛇教程】一张Plane渲染的Shader贪吃蛇
    前言    开局一张plane,其余靠shader编。本游戏为shader绘制贪吃蛇,没有3D模型,想了解3D版本的开发,可以跳转到【c#Unity贪吃蛇教程】    已经是第五期C#不同平台制作贪吃蛇了,前三期分别是【c#控制台贪吃蛇教程】、【c#winform贪吃蛇教程】、【c#WPF贪吃蛇教......
  • springboot403考研互助交流平台springbootlod和php(论文+源码)_kaic
     摘要随着社会的发展,大学生考研的管理形势越来越严峻。越来越多的用户利用互联网获得信息,但考研信息鱼龙混杂,信息真假难以辨别。为了方便用户更好的获得本考研信息,因此,设计一种安全高效的考研互助交流系统极为重要。为设计一个安全便捷,并且使用户更好获取本考研信息,本文主......
  • 详解 opengl 语法
    以下是OpenGL语法的详解,分为核心功能、常见函数的用法以及它们在OpenGL渲染管线中的位置。OpenGL是一个状态机,许多操作都是围绕上下文状态进行的。1.OpenGL基本结构OpenGL的主要功能是通过调用一系列的API,完成三维图形的绘制。主要包括以下几个步骤:初始化Open......
  • 初识 OpenGL
    OpenGL(OpenGraphicsLibrary)是一种跨平台的图形开发接口,它用于渲染2D和3D图形。OpenGL的主要功能是向开发者提供一个可以调用硬件加速的API,以绘制复杂的图形和视觉效果。它被广泛应用于游戏开发、图形设计、科学可视化和虚拟现实等领域。在初识OpenGL时,我们可以通过一......
  • OpenGL 使用记录
    多线程渲染方案方案多线程更新纹理,主线程渲染多线程FBO渲染,主线程显示线程安全性子线程只操作共享的纹理,主线程负责渲染,信号槽机制确保线程安全。子线程直接操作自己的FBO,主线程仅访问FBO的纹理,较安全。复杂性逻辑较简单,纹理数据更新逻辑独立,主线程负责完整的......
  • 【OpenGL ES】GLSL基础语法
    1前言​本文将介绍GLSL中数据类型、数组、结构体、宏、运算符、向量运算、矩阵运算、函数、流程控制、精度限定符、变量限定符(in、out、inout)、函数参数限定符等内容,另外提供了一个include工具,方便多文件管理glsl代码,实现代码的精简、复用。​Unity中Shader介......
  • VUE前端实现防抖节流 Lodash
    方法一:采用Lodash工具库Lodash是一个一致性、模块化、高性能的JavaScript实用工具库。(1)采用终端导入Lodash库$npmi-gnpm$npmi--savelodash(2)应用示例:搜索框输入防抖在这个示例中,我们希望用户在输入框中停止输入500毫秒后才执行搜索操作,避免频繁请求.<input......