摘要:
小知识:RGB与YUV----摘自《DirectShow实务精选》 作者:陆其明计算机彩色显示器显示色彩的原理与彩色电视机一样,都是采用R(Red)、G(Green)、B(Blue)相加混色的原理:通过发射出三种不同强度的电子束,使屏幕内侧覆盖的红、绿、蓝磷光材料发光而产生色彩。这种色彩的表示方法称为RGB色彩空间表示(它也是多媒体计算机技术中用得最多的一种色彩空间表示方法)。 根据三基色原理,任意一种色光F都可以用不同分量的R、G、B三色相加混合而成。F = r [ R ] + g [ G ] + b [ B ]其中,r、g、b分别为三基色参与混合的系数。当三基色分量都为0(最弱)时混合为黑 阅读全文
摘要:
在所有的预处理指令中,#pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。 #pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。 依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #pragma para 其中para为参数,下面来看一些常用的参数。 (1)message 参数 message参数是我最喜欢的一个参数,它能够在编译信息输出窗口中输出相应的信息, 这对于源代码信息的控制是非常重要的。其使用方法为: #pragma messa... 阅读全文
摘要:
覆盖表面(Overlay Surfaces) 覆盖表面是具有特殊硬件支持能力的表面,通常用于显示活动视频、录制视频或静止位图而不需要位块传输到主表面或改变主表面的内容。对覆盖表面的字此完全由硬件提供,DirectDraw支持显示设备驱动程序所支持的特性,DirectDraw不仿真覆盖表面。可以将覆盖表面想象为一片塑料纸,我们可以在这片塑料上画图并可将其放置在显示器前面。塑料纸覆盖在显示器前面时,你可以看到覆盖和主表面,移去塑 料纸后,主表面并没有改变。覆盖表面的工作原理同透明塑料纸覆盖的原理很相似。的显示一个覆盖表面时,就是告诉设备驱动程序在哪里怎样使覆盖表... 阅读全文
摘要:
(1)为什么需要overlay:为什么需要overlay? overlay产生的原因是:1,避免在vertical blank时flip/blt surface造成的画面"撕 裂"现象; 2,使硬件可以窗口模式下使用flip而不是blt,从而提高效率. 3D游戏里面它没有什么用的上的地方, 因为一般硬件不支持 render to overlay surface, 2D游戏一般也不用它, 因为象素格式问题, 从RGB的surface blt到YUV的 surface时需要硬件花时间去转换, 除非游戏里所有的其他surface也用YUV.注: 一般硬件overlay surfa 阅读全文