几道图形学的面试题求解

林初茵 2006-04-26 04:23:34
大家最好把解释也能详细给出
1:下列说法错误的是:
A. Direct3DCreat9(D3D_SDK_VERSION); 此函数返回D3D实例。
B. IDirect3D9::CreateDevice(); 此函数创建设备实例
C. IDirect3D9::BeginScene()与IDirect3D9::EndScene()要求成对使用,且可以嵌套使用。
D.在绘制图形之后必须调用函数IDirect3D9::Present(),把后台缓存里的数据处理到前台,才能绘制出图形。



2:有关纹理的说法错误的是:
A. 纹理坐标一般用v,u来表示,分别对应纹理的宽和高。
B. bmp, tga, jpg类型的文件都可以加载到纹理变量中。
C. 网格若想贴上纹理需要有纹理坐标
D. 在自定义格式中可以提供多组纹理坐标



3:下列说法正确的有:
A. Alpha测试, 不能实现半透明
B. Alpha测试在速度上优于Alpha混合
C. SetRenderState(D3DRS_ALPHAFUNC, D3DCMP_GREATER)是设置Alpha混合的混合函数
D. Alpha混合可以生成半透明的效果
E. Alpha测试中通过测试则绘制像素,否则不绘制。


4 在windows编程中互斥器(mutex)的作用和临界区(critical section)类似,请说一下二者间的主要区别。

...全文
963 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
寻开心 2006-04-27
  • 打赏
  • 举报
回复
alpha test 是透还不透的问题
alpha blend 是混合,透多少的问题,以及如何透的问题,效果多,开销相对大一些
寻开心 2006-04-27
  • 打赏
  • 举报
回复
2:有关纹理的说法错误的是:
A. 纹理坐标一般用v,u来表示,分别对应纹理的宽和高。 u,v对应宽
C. 网格若想贴上纹理需要有纹理坐标 纹理坐标也是可以自动生成的
寻开心 2006-04-27
  • 打赏
  • 举报
回复
这那里是考图形学啊,考的是d3d的

3:下列说法正确的有:
A. Alpha测试, 不能实现半透明 alpha是透还是不透,不能半透
B. Alpha测试在速度上优于Alpha混合 是的
C. SetRenderState(D3DRS_ALPHAFUNC, D3DCMP_GREATER)是设置Alpha混合的混合函数
错误,是test
D. Alpha混合可以生成半透明的效果 是的
E. Alpha测试中通过测试则绘制像素,否则不绘制。 是的
justrun2005 2006-04-27
  • 打赏
  • 举报
回复
DirectX没学过
yinqing_yx 2006-04-27
  • 打赏
  • 举报
回复
其他2个都答完了,我也学习不久,没新东西可以补充~~~~~~`
yinqing_yx 2006-04-27
  • 打赏
  • 举报
回复
2:有关纹理的说法错误的是:
A. 纹理坐标一般用v,u来表示,分别对应纹理的宽和高。
B. bmp, tga, jpg类型的文件都可以加载到纹理变量中。
C. 网格若想贴上纹理需要有纹理坐标
D. 在自定义格式中可以提供多组纹理坐标

个人理解和楼上的一样,选A
D3D环境中,顶点结构中的浮点变量v,u最大值1.0f,最小0.0f,只是一个相对的比例。所以不是对应宽高,这里有点表达模糊。
yinqing_yx 2006-04-27
  • 打赏
  • 举报
回复
1:下列说法错误的是:
A. Direct3DCreat9(D3D_SDK_VERSION); 此函数返回D3D实例。
B. IDirect3D9::CreateDevice(); 此函数创建设备实例
C. IDirect3D9::BeginScene()与IDirect3D9::EndScene()要求成对使用,且可以嵌套使用。
D.在绘制图形之后必须调用函数IDirect3D9::Present(),把后台缓存里的数据处理到前台,才能绘制出图形。

A:IDirect3D9 *WINAPI Direct3DCreate9( UINT SDKVersion);
创建成功则返回IDirect3D9的接口指针,如果失败则NULL,这里A正确
B:也正确
C:错误,BeginSecene & EndScene必须成对出现,但是在任何帧渲染之前(之后)只能被调用一次。
D:负责BUFFERCHAIN的切换工作,当完成后备缓冲区的渲染之后,就需要使用此方法进行页面的切换
cdef9108 2006-04-26
  • 打赏
  • 举报
回复

才准备开始学,
只能顶一下,
林初茵 2006-04-26
  • 打赏
  • 举报
回复
老大 第三提到底选哪个?
houdy 2006-04-26
  • 打赏
  • 举报
回复
1.DirectX的东西,不太熟,不会:(

2.我感觉是:A. 纹理坐标一般用v,u来表示,分别对应纹理的宽和高。
>>>> 纹理坐标的范围一般是[0,1],纹理的宽和高需要规一化才能表示成纹理坐标。

3.五个答案绕来绕去,真没有意思,感觉在参加升学考试,一看就知道是中国人出的题。
使用Alpha融合技术可以实现半透明的效果,在进行Alpha融合的时候,要进行Alpha测试,我们可以指定不同的测试策略。
林初茵 2006-04-26
  • 打赏
  • 举报
回复
dddddddddddddddd
林初茵 2006-04-26
  • 打赏
  • 举报
回复
dddddddddddddddddddddddddddddddd
healer_kx 2006-04-26
  • 打赏
  • 举报
回复
mutex可以用于进程之间互斥
critical section是线程之间的互斥。

64,652

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧