惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
News and Events Feed by Topic
爱范儿
爱范儿
Blog — PlanetScale
Blog — PlanetScale
The GitHub Blog
The GitHub Blog
C
Check Point Blog
小众软件
小众软件
I
InfoQ
罗磊的独立博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Engineering at Meta
Engineering at Meta
酷 壳 – CoolShell
酷 壳 – CoolShell
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Hugging Face - Blog
Hugging Face - Blog
博客园 - 三生石上(FineUI控件)
MyScale Blog
MyScale Blog
The Cloudflare Blog
Last Week in AI
Last Week in AI
腾讯CDC
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
雷峰网
雷峰网
B
Blog
T
Tailwind CSS Blog
MongoDB | Blog
MongoDB | Blog
A
About on SuperTechFans
D
Docker
博客园 - 司徒正美
博客园_首页
Recent Announcements
Recent Announcements
D
DataBreaches.Net
阮一峰的网络日志
阮一峰的网络日志
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
G
Google Developers Blog
Microsoft Security Blog
Microsoft Security Blog
F
Fortinet All Blogs
Stack Overflow Blog
Stack Overflow Blog
aimingoo的专栏
aimingoo的专栏
N
Netflix TechBlog - Medium
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
GbyAI
GbyAI
Jina AI
Jina AI
V
V2EX
Vercel News
Vercel News
IT之家
IT之家
WordPress大学
WordPress大学
M
MIT News - Artificial intelligence
NISL@THU
NISL@THU
V
Visual Studio Blog
C
Cybersecurity and Infrastructure Security Agency CISA

博客园 - 稻草人的麦田

[导入]显卡对于mipmap选择的研究 [导入]仔细研究了lithtech中的根据类名创建对象 [导入]光照优缺点 [导入]一个开发休闲游戏的程序组人与分配方案 [导入]运动模糊的制作 [导入]格里高里的数学题 [导入]水彩化 [导入]伪 HDR/Blow [导入]描边,只是换了个过滤器而已 [导入]锐化模糊 [导入]卷积积分(转) [导入]再贴个圆形马赛克 [导入]马赛克 [导入]hlsl的浮雕效果 [导入]游戏出了一个demo [导入]图形文件的格式(转载) [导入] 一些色彩方面的知识 [导入]流浪歌手 [导入][转载]游戏引擎列表
[导入]蜗牛的笔试题目
稻草人的麦田 · 2007-11-27 · via 博客园 - 稻草人的麦田

当时也收到了蜗牛的笔试题目。贴出下半部分和我的回答。

下面是一技术问题,用于考察应聘人员的各方面的知识程度。回答请尽量详细,最好能举例说明。

一些3D问题:(公司使用的是D3D,如果不熟,用OpenGL举例回答也可以)

1.请介绍D3D或OpenGL中渲染对象时需要设置的3个矩阵及它们各自的作用。

2.请简单介绍D3D的渲染流水线流程及各步骤的作用,以及实际应用中我们可以在这些步骤做些什么效果应用?

3.ZBuffer有什么作用,渲染任何物体时是否都一定要打开ZBuffer?为什么?

4.请介绍你所有知道的纹理Alpha混合方式,原理(公式),以及他们的实际应用(做什么样的效果时需要这种方式)

 5.请介绍你所知道的所有3D动画方式、实现原理,以及他们的实际应用(做什么样的效果时需要这种方式)

6.现在的显卡已经可以每秒渲染上千万个三角形以上(而一般的游戏场景也就几万个三角形),而已已经有了很多自动的显示剪裁,是否意味着使用BSP或其他优化方法组织场景数据已经没有必要了?为什么?

7.使用硬件支持的D3D灯光有什么优点和缺点,好的3D引擎一般用什么方法弥补这种缺点?

8.GF4 MX系列与GF4 TI系列显卡有什么不同点?这些不同有什么作用?

1.世界矩阵,观察矩阵,投影矩阵,他们的作用分别是把物体转换到世界里,然后再转换到观察世界里,然后再转换到投影世界中.这样才能模拟出真实的世界中的情景.
2.先把局部坐标转换为世界坐标,再转换为视图坐标,再进行背面剔除,再进行光照再进行空间分割的剪切(八叉树,bsp等),再转换到投影空间中,再转换到视点区域,最后显示到屏幕上去.
3.ZBuffer是一个深度缓冲,用来储存屏幕上点的深度信息,因为屏幕是一个二维空间,而物体是有远近的区别的,所以需要一个缓冲来储存.根据需要来开启zbuffer,因为有些地方不需要用到zbuffer,比如投影到一个贴图进行影子的显示时.
4.纹理混合方式多种多样,而且可以根据自己的需要来做,有选择的假如Alpha,常用的有:source*dest + dest*(1-alpha)可以产生两张图片通过一张图片的alpha通道来透明,用来制作头发中间楼出脸庞的效果.source*alpha用来制作半透明效果.source*alpha+dest用来制作两张图片的透明混合,比如墙上的子弹坑效果.
5.我知道的3d动画方式有两种,在计算时都需要进行插值,一种是骨骼动画,按照矩阵的旋转来记录信息,随时根据矩阵的位置进行插值得到当前的位置,见于胳膊,腿等无形变的摆动动作.另外一种是顶点动画,记录顶点的位置,和下一次出现的位置,按照时间插值计算出中间时间的位置,用于细腻的刻画人物的面部表情等细微的有形状变化的动作.
6.肯定还是有必要进行数据组织的,因为显卡同时处理的再多也是有限度的,而且显卡的剪裁只是盲目的去掉了不可见的顶点,没有对场景进行组织,对于规格化的显示还是有很大的差距的.而且细节也逐渐增多,显卡可以拿出更多的力气来处理细节问题.
7.使用硬件的灯光来说d3d只能有8个光源,而现实的游戏中光源的数量是远远超过这个数量的,而且d3d的光源是实时计算的,我们很难控制。引擎中我们是采用预处理的方法给出比较逼真的静态光照的,模拟光线跟踪的方法形成一个lightmap,从而贴到场景中形成各种光线的效果,有显示速度快等优点。
8.GF4Ti显卡是一款比GF4MX更加高档和专业的显卡,在性能和频率上都有突出表现。这样就决定了GF4TI显卡在进行可编程渲染管线的编程时可以采用更加多的图形效果,进行更加复杂的图形运算。

当时太多事情要做了,根本没时间仔细回答他的题目。随随便便就这样子发回给他了,现在看看真觉得窝囊,这不是完全浪费机会嘛,答的我作为面试考官都不会要的。后面还有网络的题目,我不做也没回答。唉~

文章来源:http://songxiaoyu8.blog.163.com/blog/static/208181282007102785629187