手机备案网站/网页优化seo广州
目录
- 1.问一个Terrain,分别贴3张,4张,5张地表贴图,渲染速度有什么区别?为什么?
- 2.什么是LightMap?
- 3.MipMap是什么,作用?
- 4.请问alpha test在何时使用?能达到什么效果?
- 5.简述水面倒影的渲染原理?
- 6.什么是渲染管道?
- 7.写出光照计算中的diffuse的计算公式
- 8.两种阴影判断的方法、工作原理。
- 9.有A和B两组物体,有什么办法能够保证A组物体永远比B组物体先渲染?
- 10.Unity的Shader中,Blend SrcAlpha OneMinusSrcAlpha这句话是什么意思?
- 11.Vertex Shader是什么,怎么计算?
- 12. Unity3D Shader分哪⼏种,有什么区别?
- 13.分别解释顶点着色器和像素着色器是什么
- 14.alpha blend工作原理
- 15.矩阵相乘的意义及注意点
- 16.Unity中三角面正面,背面是如何渲染的?
- 17.法线贴图、CG 动画
- 18.什么是投影矩阵
- 19.什么是UV
- 20.Cullback,cullfront,culloff区别
- 21.什么是顶点程序和片段程序
1.问一个Terrain,分别贴3张,4张,5张地表贴图,渲染速度有什么区别?为什么?
- 没有区别,因为不管几张贴图只渲染一次。
2.什么是LightMap?
- LightMap:就是指在三维软件⾥实现打好光,然后渲染把场景各表⾯的光照输出到贴图上,最后⼜通过引擎贴到场景上,这样就使物体有了光照的感觉。
3.MipMap是什么,作用?
- MipMapping:在三维计算机图形的贴图渲染中有常⽤的技术,为加快渲染进度和减少图像锯⻮,贴图被处理成由⼀系列被预先计算和优化过的图⽚组成的⽂件,这样的贴图被称为MipMap。
- 优点:优化显存带宽,用来减少渲染。因为可以根据距离摄像机远近,选择适合的贴图来渲染。所以UI不适用MipMap。
- 缺点:运行时占用更多内存,且增加包的容量。
【使用 Mip maps 需要使用 33%以上的内存,但不使用它会导致巨大的性能损失】
4.请问alpha test在何时使用?能达到什么效果?
- Alpha Test,中文就是透明度测试。
简而言之就是V&F shader中最后fragment函数输出的该点颜色值(即上一讲frag的输出half4)的alpha值与固定值进行比较。Alpha Test语句通常于Pass{}中的起始位置。Alpha Test产生的效果也很极端,要么完全透明,即看不到,要么完全不透明。
5.简述水面倒影的渲染原理?
- 原理就是对水面的贴图纹理进行扰动,以产生波光玲玲的效果。用shader可以通过GPU在像素级别作扰动,效果细腻,需要的顶点少,速度快
6.什么是渲染管道?
- 是指在显示器上为了显示出图像⽽经过的⼀系列必要 操作。 渲染管道中的很多步骤,都要将⼏何物体从⼀个坐标系中变换到另⼀个坐标系中去。
- 主要步骤有: 本地坐标->视图坐标->背⾯裁剪->光照->裁剪->投影-> 视图变换->光栅化。
- GPU工作流程:顶点处理、光栅化、纹理贴图、像素处理
- 顶点处理:这阶段GPU读取描述3D图形外观的顶点数 据并根据顶点数据确定3D图形的形状及位置关系,建 ⽴起3D图形的⻣架。
- 光栅化:把⼀个⽮ᰁ图形转换为 ⼀系列像素点的过程就称为光栅化
- 纹理贴图:就是将多边形的表⾯贴 上相应的图⽚,从⽽⽣成“真实”的图形。
- 像素处理:这阶段(在对每个像素进⾏光栅化处理期 间)GPU完成对像素的计算和处理,从⽽确定每个像 素的最终属性。
- 最终输出:由ROP(光栅化引擎)最终完成像素的输 出,1帧渲染完毕后,被送到显存帧缓冲区。
- 总结:GPU的⼯作通俗的来说就是完成3D图形的⽣成,将图形映射到相应的像素点上,对每个像素进⾏ 计算确定最终颜⾊并完成输出。
7.写出光照计算中的diffuse的计算公式
- diffuse = Kd x colorLight x max(N*L,0);
Kd 漫反射系数、colorLight 光的颜⾊、N 单位法线向量、L 由点指向光源的单位向量、其中N与L点乘,如果结果⼩于等于0,则漫反射为0。
8.两种阴影判断的方法、工作原理。
- 本影和半影:
- 本影:景物表⾯上那些没有被光源直接照射的区域
(全⿊的轮廓分明的区域)。 - 半影:景物表⾯上那些被某些特定光源直接照射但并⾮被所有特定光源直接照射的区域(半明半暗区域)
- 本影:景物表⾯上那些没有被光源直接照射的区域
- ⼯作原理:从光源处向物体的所有可⻅⾯投射光线,将这些⾯投影到场景中得到投影⾯,再将这些投影⾯与场景中的其他平⾯求交得出阴影多边形,保存这些阴影多边形信息,然后再按视点位置对场景进⾏相应处理得到所要求的视图(利⽤空间换时间,每次只需依据视点位置进⾏⼀次阴影计算即可,省去了⼀次消隐过程)
9.有A和B两组物体,有什么办法能够保证A组物体永远比B组物体先渲染?
- 把A组物体的渲染对列⼤于B物体的渲染队列。
10.Unity的Shader中,Blend SrcAlpha OneMinusSrcAlpha这句话是什么意思?
- 作用就是Alpha混合。公式:最终颜色 = 源颜色源透明值 + 目标颜色(1 - 源透明值)
11.Vertex Shader是什么,怎么计算?
- 顶点着⾊器是⼀段执⾏在GPU上的程序,⽤来取代fixed pipeline中的transformation和lighting,Vertex Shader主要操作顶点。
- Vertex Shader对输⼊顶点完成了从local space到homogeneous space(⻬次空间)的变换过程,homogeneous space即projection space的下⼀个space。
在这其间共有world transformation, view transformation和projection transformation及lighting⼏个过程
12. Unity3D Shader分哪⼏种,有什么区别?
- 表⾯着⾊器 的抽象层次⽐较⾼,它可以轻松地以简洁⽅式实现复杂着⾊。表⾯着⾊器可同时在前向渲染及延迟渲染模式下正常⼯作。
- 顶点⽚段着⾊器可以⾮常灵活地实现需要的效果,但是需要编写更多的代码,并且很难与Unity的渲染管线完美集成。
- 固定功能管线着⾊器可以作为前两种着⾊器的备⽤选择,当硬件⽆法运⾏那些酷炫Shader的时,还可以通过固定功能管线着⾊器来绘制出⼀些基本的内容。
13.分别解释顶点着色器和像素着色器是什么
- 顶点着⾊器是⼀段执⾏在GPU上的程序,⽤来取代 fixed pipeline中的transformation和lighting,Vertex Shader主要操作顶点。‘’
- 像素着色器实际上就是对每一个像素进行光栅化的处理期间,在GPU上运算的一段程序。
不同与顶点着色器,像素着色器不会以软件的形式来模拟像素着色器。 - 像素着色器实质上是取代了固定功能流水线中多重纹理的环节,而且赋予了我们访问单个像素以及访问每一个像素纹理坐标的能力
14.alpha blend工作原理
- Alpha Blend 实现透明效果,不过只能针对某块区域进行alpha操作,透明度可设。
15.矩阵相乘的意义及注意点
- 用于表示线性变换:旋转、缩放、投影、平移、仿射
- 注意矩阵的蠕变:误差的积累
16.Unity中三角面正面,背面是如何渲染的?
- 三角面正面是顶点顺时针,背面是顶点逆时针,如
a
b c - a,b,c为逆时针,渲染背面。a,c,b为顺时针,渲染正面。
17.法线贴图、CG 动画
- 法线贴图:是在原物体的凹凸表面的每个点上均作法线,通过RGB 颜色通道来标记法线的方向,你可以把它理解成与原凹凸表面平行的另一个不同的表面,但实际上它又只是一个光滑的平面。
- CG 动画:原为Computer Graphics 的英文缩写。随着以计算机为主要工具进行视觉设计和生产一系列相关产业的形成,国际上习惯将利用计算机技术进行视觉设计和生产的领域通称为CG。它既包括技术也包括艺术,几乎囊括了当今电脑时代中所有的视觉艺术创作活动,如平面印刷品的设计、网页设计、三维动画、影视特效、多媒体技术、以计算机辅助设计为主的建筑设计及工业造型设计等。
18.什么是投影矩阵
- 投影矩阵是一个典型的缩放和透视矩阵。投影变换将视锥变换成一个直平行六面体的形状。因为视锥的
- 近处比远处小,这样就会对靠近摄像机的对象起到放大的作用,也就将透视应用到了场景当中
19.什么是UV
- UV坐标是指所有的图象文件都是二维的一个平面。水平方向是U,垂直方向是V,通过这个平面的,二维的UV坐标系。我们可以定位图象上的任意一个象素。
20.Cullback,cullfront,culloff区别
- 剔除背面、剔除前面、不剔除
21.什么是顶点程序和片段程序
- 顶点着色器是一组指令代码,这组指令代码在顶点被渲染时执行。
- 片段着色器也是在GPU 上运行的小程序。它们负责输出每个呈现的三角形像素的最终像素颜色。基本而言,它的工作原理如下:片段着色器以输入的形式收到顶点着色器通过管道传递的所有这些片段。
相关文章:

Unity 面试篇|(七)Unity渲染与Shader篇 【全面总结 | 持续更新】
目录 1.问一个Terrain,分别贴3张,4张,5张地表贴图,渲染速度有什么区别?为什么?2.什么是LightMap?3.MipMap是什么,作用?4.请问alpha test在何时使用?能达到什么…...

记录一些多维数组的方法
文章目录 前言一、获取多维数组的数据二、多维数组自带的方法总结 前言 验证过程中,我们经常会用到多维数组存储数据,本文主要记录一下,如何去获取我们需要的数据,以及多维数组自带的一些方法。 一、获取多维数组的数据 获取多维…...

Linux:gcc的相关知识
目录 gcc的翻译(编译)过程: 预处理: 条件编译: 编译: 汇编&链接: 什么是链接? 安装静态库: 静态库的使用: 动态静态的对比: 优缺对比…...

Linux的奇妙冒险———vim的用法和本地配置
vim的用法和本地配置 一.vim的组成和功能。1.什么是vim2.vim的多种模式 二.文本编辑(普通模式)的快捷使用1.快速复制,粘贴,剪切。2.撤销,返回上一步操作3.光标的控制4.文本快捷变换5.批量化操作和注释 三.底行模式四.v…...

微信小程序底部按钮适配iPhoneX以上,显示遮挡问题
只需要在给底部按钮加个样式 /* 底部导航栏容器 */ .button-box {/* 使用 safe-area-inset-bottom 属性适配 iPhone X 及以上型号设备 */padding-bottom: constant(safe-area-inset-bottom);padding-bottom: env(safe-area-inset-bottom);/* 其他样式属性 */ }iPhone6/7/8效果 …...

Qt容器QMap(映射)
插入数据 QMap<QString,QString> infoMap; //第一个是key 第二个是valueinfoMap.insert("王祖蓝","163cm");infoMap.insert("Anglebaby","168cm");infoMap["易烊千玺"] "173cm(成长中)";infoMap["姚…...

AI时代的创新工具:如何利用AI生成独具个性的XMind思维导图?
哈喽,大家好,我是木头左,物联网搬砖工一名,致力于为大家淘出更多好用的AI工具! 背景 随着互联网的发展,越来越多的人开始使用Markdown来编写文档。Markdown是一种轻量级的标记语言,它允许人们使…...

【每日一题】最长交替子数组
文章目录 Tag题目来源解题思路方法一:双层循环方法二:单层循环 写在最后 Tag 【双层循环】【单层循环】【数组】【2024-01-23】 题目来源 2765. 最长交替子数组 解题思路 两个方法,一个是双层循环,一个是单层循环。 方法一&am…...

gin数据解析和绑定
1. Json 数据解析和绑定 客户端传参,后端接收并解析到结构体 package mainimport ("github.com/gin-gonic/gin""net/http" )// 定义接收数据的结构体 type Login struct {// binding:"required"修饰的字段,若接收为空值…...

TCP服务器最多支持多少客户端连接
目录 一、理论数值 二、实际部署 参考 一、理论数值 首先知道一个基础概念,对于一个 TCP 连接可以使用四元组(src_ip, src_port, dst_ip, dst_port)进行唯一标识。因为服务端 IP 和 Port 是固定的(如下图中的bind阶段࿰…...

UML类图学习
UML类图学习 UML类图是描述类之间的关系概念1.类(Class):使用三层矩形框表示2.接口(interface):使用两层矩形框表示,与类图主要区别在于顶端有<<interface>>显示3、继承类(extends):用空心三角…...

死锁面试题详解
什么是死锁? 死锁是指两个或多个进程在执行过程中,因争夺资源而造成的一种相互等待的现象,如果没有外力干涉,这些进程将永远无法继续执行 死锁通常发生在多个进程试图同时访问同一资源而无法获取的情况下,例如&#…...

【rust/bevy】使用points构造ConvexMesh
目录 说在前面问题提出Rapier具体实现参考 说在前面 操作系统:win11rust版本:rustc 1.77.0-nightlybevy版本:0.12github:这里 问题提出 在three.js中,可以通过使用ConvexGeometry从给定的三维点集合生成凸包(Convex Hu…...

【C语言】string.h——主要函数总结
string.h主要定义了字符串处理函数和内存操作函数。 字符串处理函数 strlen() 功能:strlen()函数返回字符串的字节长度,不包括末尾的空字符\0。 函数原型:size_t strlen(const char* s); 返回值:返回的是size_t类型的无符号整…...

如何在前端优化中减少页面加载时间?
在前端优化中,减少页面加载时间是至关重要的,因为快速加载的页面可以提高用户体验,减少跳出率,从而提升网站的整体性能。本文将介绍一些实用的前端优化技巧,以帮助您减少页面加载时间。 一、优化图片 图片是页面加载…...

Typecho后台无法登录显示503 service unavailable问题及处理
一、Typecho 我的博客地址:https://www.aomanhao.top 使用老薛主机动态Typecho博客框架handsome主题的搭配,文章内容可以异地网页更新,可以听后台背景音乐,很好的满足我的痛点需求,博客部署在云端服务器访问响应较快…...

Python入门(一)
anaconda安装 官网:https://www.anaconda.com下载 jupyter lab 简介: 包含了Jupyter Notebook所有功能。 JupyterLab作为一种基于web的集成开发环境,你可以使用它编写notebook,操作终端,编辑markdown文本…...

云表企业级无代码案例-自主开发ERP管理系统
痛点 我是一名企业经营者,同时也是信息化建设的坚定倡导者。凭借管理专业背景,我深知经营数据对于企业的至关重要性。如何高效搜集、精准分析经营数据,并将其转化为决策依据,直接关乎企业的生死存亡。太多因盲目决策而倒闭的企业…...

Qt —— 编译Qt5版本QFTP库,并实现连接服务、获取列表、上传、下载、删除文件等操作(附源码、附基于Qt5编译好的QFTP库)
示例效果1 示例效果2 介绍 QFTP是Qt4的库,Qt5改用了QNetworkAccessManager来代替。但是Qt5提供的QNetworkAccessManager仅支持FTP的上传和下载,所以只能将QFTP库编译为Qt5的库来进行调用。 QFTP在Github的下载地址:https://github.com/qt/qtftp 客户端源码生成的release结果…...

碰到es6的...拓展运算符
第一次碰到,哥们啥也不会 let searchForm ref({}) let formData ref({}) const initArgs async() > { args.value props.init_data formData .value { ...searchForm.value,//把值都带过来 workWhere : args.value.workWhere, statusArgs : args.value.sta…...

JDK8新特性详解
☆* o(≧▽≦)o *☆嗨~我是小奥🍹 📄📄📄个人博客:小奥的博客 📄📄📄CSDN:个人CSDN 📙📙📙Github:传送门 📅&a…...

ELK+Filebeat 部署实验
Filebeat是轻量级的开源日志文件数据搜集器。通常在需要采集数据的客户端安装 Filebeat,并指定目录与日志格式,Filebeat 就能快速收集数据,并发送给 logstash 进行解析,或是直接发给 Elasticsearch 存储,性能上相比运行…...

利用wireshark lua扩展能力增加自定义解析器[注释解读版]
前言 Wireshark提供了lua扩展能力,可以定制一些Listner和Dissector,用于一些自定义的使用场景,例如: lua插件适应场景Listener报文统计、内容抽取等Dissector协议树解析,在wireshark中立等可看 已在以前的文档中积累了对于List…...

GPT-5不叫GPT-5?下一代模型会有哪些新功能?
OpenAI首席执行官奥特曼在上周三达沃斯论坛接受媒体采访时表示,他现在的首要任务就是推出下一代大模型,这款模型不一定会命名GPT-5。虽然GPT-5的商标早已经注册。 如果GPT-4目前解决了人类任务的10%,GPT-5应该是15%或者20%。 OpenAI从去年开…...

2024.1.23(347.前k个高频元素)
2024.1.23(347.前k个高频元素) 思路 这道题目主要涉及到如下三块内容: 1.要统计元素出现频率 2.对频率排序 3.找出前K个高频元素 首先统计元素出现的频率,这一类的问题可以使用map来进行统计。 然后是对频率进行排序,这里我们可以使用一种…...

MySQL对数据库的操作
前腰:本节只是的数据库本身进行增删查改、备份、恢复等操作,而不是对数据库内的数据表做操作,还请您区分好这两点。 1.创建数据库 # 创建数据库的语法形式 CREATE DATABASE [IF NOT EXISTS] database_name [create_specification]# 大写的是…...

解决Unity WebGLInput插件全屏输入的问题
unity webgl的中文输入插件WebglInput在全屏的时候会出现无法输入中文/输入的英文会字母出现在光标后面/什么都输入不了的等无法正常使用的情况。 插件官网作者给出了unity的2017,2018,2019版本的全屏输入解决方法。 最新插件下载地址:http…...

Android14实战:调整A2DP音量曲线(五十三)
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只…...

vector讲解
在学习玩string后我们开始学习vector,本篇博客将对vector进行简单的介绍,还会对vector一些常用的函数进行讲解 vector的介绍 实际上vector就是一个数组的数据结构,但是vector是由C编写而成的,他和数组也有本质上的区别ÿ…...

nvm 配置淘宝镜像失效,以及安装node后 npm-v 无效
win11 nvm版本 1.1.4 和1.1.7和1.1.12(目前最新版本24年 一月二十三日) 以上nvm版本都会出现一下问题, 从https://github.com/coreybutler/nvm-windows/releases 下载nvm安装包如下图 傻瓜式安装后,不用去配置环境变量&#…...