关闭

笔试选择题十二

95人阅读 评论(0) 收藏 举报
分类:

一、宏的描述,(1)宏不进行类型检查(2)宏可以做到函数无法做到的功能(3)编译时宏的处理早于函数

二、C++中32位单精度浮点数能表示的十进制有效数字是多少位?

单精度浮点数的有效位数是7位。
双精度浮点数的有效位数是16位。
三、按消隐空间分类:
1)物体空间的消隐算法 (光线投射):将场景中每一个面与其他每个面比较,求出所有点、边、面遮挡关系。
2)图像空间的消隐算法 (Z-buffer、扫描线Z-buffer 、Warnock):对屏幕上每个象素进行判断,决定哪个多边形在该象素可见。
3)物体空间和图像空间的消隐算法 (画家算法):在物体空间中预先计算面的可见性优先级,再在图像空间中生成消隐图。
扫面线算法是按照扫描线顺序计算扫面线与多边形的相交区间,一般用来填充,消隐算法是用来解决可见区域的问题。
四、
五、
调用拷贝构造函数的3中情况:
1、用一个对象去初始化同一个类的另一个新对象时
2、函数的形参对象,调用函数进行形参和实参结合时 3、函数的返回值是类的对象,函数执行返回调用时 将一个对象赋值给另一个对象,两个对象都存在,调用的是赋值构造函数,不涉及内存的分配。
当被赋值的对象不存在调用的是拷贝构造函数。
六、OpenGL在图元rasterazation之后,得到的是fragment,fragment不是最后的像素数据,但和像素对应;fragment需要经过一写了的处理,blend,texture,lighting...,才会得到最后的像素。用来缓存fragment数据的缓冲区,就是frame buffer。
fragment相关的数据有color,stencil,depth等等,因此frame buffer可以说包含color buffer,stencil buffer,depth buffer等若干buffer。只有color buffer用于最后的像素显示,其他的都是用来辅助fragment的处理。
ColorBuffers  (颜色缓冲区)
支持立体视觉的OpenGL有left color buffer和right color buffer,否则的话只有left color buffer。支持double-buffer的时候,前面的两个buffer又会分出front buffer和back buffer,否则是有front buffer。OpenGL还有一些不用于显示的color buffer,叫做auxiliary color buffer,这些buffer的作用OpenGL并没有指定,而是由用户决定,比如可以用来存储一副反复使用的图像。
Depth Buffer(深度缓冲区)
Depth Buffer存储fragment的深度,即离视点的距离。Depth Buffer也叫Z buffer。
Stencil Buffer (模板缓冲区)
stencil buffer可以将绘图限制到屏幕的规定部分,比如透过窗户的场景
七、多线程调用时要进行保护时,主要是针对全局变量和静态变量的,函数内的局部变量不会受到影响。
这里i是全局变量,j是局部静态变量,所以 要进行保护。
八、

STL中哪种结构是连续形式的存储

vector
deque

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:26508次
    • 积分:1508
    • 等级:
    • 排名:千里之外
    • 原创:126篇
    • 转载:41篇
    • 译文:0篇
    • 评论:5条
    最新评论