已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
10. Alpha混合Microsoft Direct3D在绘制场景时可以整合各种来源的色彩信息:顶点颜色、目前材质、贴图对映以及原先写入绘制画面的颜色。Direct3D不光只是选择这些来源之一的色彩,而是混合其中数种颜色。一个叫做alpha的系数可以用来计算混合运算时的权重。alpha值可以储存在顶点、材质以及贴图对映中。Alpha通常被视作不透明的程度;也就是alpha值0表示完全透明,alpha值1表示完全不透明,而介于0到1之间的alpha值表示某种程度的半透明。藉由alpha混合的使用,您可以建立有趣而真实的视觉效果。与画面缓冲区混合当Direct3D绘制一个形状时,会依据该形状所用贴图、材质以及打光信息的色彩来计算各个像素的颜色。您可以用alpha混合来结合形状的颜色和原先储存在画面缓冲区(来自另一个形状或清除用的颜色,后者也就是用IDirect3DDevice7:Clear方法清除场景所用的颜色)中像素的色彩。利用这种形式的alpha混合,您可以仿真半透明对象、结合两种影像,也可以加入力场、火焰、电浆束、以及光影对映之类的特效。alpha信息可以储存在多边形的顶点结构或贴图对映的各个贴图图素中。Direct3D会用下列公式来计算所绘制形状中各像素的最终色彩:FinalColor = SourcePixelColor SourceBlendFactor + DestPixelColor DestBlendFactor公式中所用的变量定义如下: FinalColor输出到绘制绘图页的像素颜色 SourcePixelColor目前形状计算出的像素颜色 SourceBlendFacto用来计算要将多少百分比的来源像素颜色套用在最终颜色上(合法值是0.0到1.0)。 DestPixelColor画面缓冲区中目前像素的颜色。 DestBlendFactor用来计算要将多少百分比的画面缓冲区目前的像素颜色套用在最终颜色上(合法值是0.0到1.0)。Direct3D让您改变SourceBlendFactor和DestBlendFactor旗标来产生所要的效果。举例来说,如果您把SourceBlendFactor设成D3DBLEND_ONE (1.0, 1.0, 1.0, 1.0)而把DestBlendFactor设成D3DBLEND_ZERO (0.0, 0.0, 0.0, 0.0),最终颜色就只会用多边形的颜色。反过来说,如果把SourceBlendFactor设成D3DBLEND_ZERO并把DestBlendFactor设成D3DBLEND_ONE,多边形就会完全透明而最终像素就变成和画面缓冲区原先的颜色一样。如果把混合系数设到这两个极端之间并让两个值加起来等于1.0,多边形就会半透明地和画面缓冲区混合起来。以大多数有趣的透明效果(如火焰及电浆束)来说,必须把SourceBlendFactor和DestBlendFactor设成使用贴图或顶点的值,不能单纯地只用固定值。改变各个画面的alpha值就可以产生闪烁的效果。另外如果FinalColor的值大于1.0(比如SourceBlendFactor和DestBlendFactor都是(1.0, 1.0, 1.0, 1.0),颜色值最大只能到1.0,因为1.0是可能的最大值。回想在前面几章,当您设定一个颜色时,事实上是在设定红、绿、蓝以及alpha值。所以您可以用各个贴图中贴图图素的alpha值加上SourceBlendFactor 变量来控制透明的结果。Direct3D会依据您所选的混合旗标选用不同的公式,将来源颜色和目的颜色结合成最终颜色。举个例子,让我们假设下列变量定义来源及目的值:(sr, sg, sb, sa)是来源像素的信息。(dr, dg, db, da) 是目的像素的信息。 另外再假设来源混合旗标和目的混合旗标都被设成D3DBLEND_SRCALPHA,也就是会产生表示成(sa,sa, sa, sa)的混合系数。有了这些定义,就可以用下面的公式来计算最终的混合颜色(fr, fg, fb, fa):(fr, fg, fb, fa) = (sr sa + dr sa, sg sa + dg sa, sb sa + db sa, sasa + dasa)下面是各种可能的混合旗标的说明。除了有特别注明之外,这些旗标都可以套用在D3DRENDERSTATE_SRCBLEND状态或D3DRENDERSTATE_DESTBLEND状态中: D3DBLEND_ZERO混合系数为(0, 0, 0, 0)。 D3DBLEND_ONE混合系数为(1, 1, 1, 1)。 D3DBLEND_SRCCOLOR混合系数为(sr, sg, sb, sa)。 D3DBLEND_INVSRCCOLOR混合系数为(1- sr, 1 - sg, 1 - sb, 1- sa)。 D3DBLEND_SRCALPHA混合系数为(sa, sa, sa, sa)。 D3DBLEND_INVSRCALPHA混合系数为(1 - sa, 1 - sa, 1 - sa, 1 - sa)。 D3DBLEND_DESTALPHA混合系数为(da, da, da, da)。 D3DBLEND_INVDESTALPHA混合系数为(1- da, 1 -da, 1 -da, 1 - da)。 D3DBLEND_DESTCOLOR混合系数为(dr, dg, db, da)。 D3DBLEND_INVDESTCOLOR混合系数为(1 - dr, 1- dg, 1 -db, 1 - da)。 D3DBLEND_SRCALPHASAT混合系数为(f, f, f, 1),其中f = min(sa, 1- da)。 D3DBLEND_BOTHSRCALPHA此混合系数已不再使用。分别呼叫把来源及目的混合系数设成D3DBLEND_SRCALPHA以及D3DBLEND_INVSRCALPHA,就可以产生相同的效果。这种混合模式只有在D3DRENDERSTATE_SRCBLEND绘制状态中有支持。 D3DBLEND_BOTHINVSRCALPHA来源混合系数为(1 - sa, 1 - sa, 1-sa, 1 - sa),而目的混合系数为 (sa, sa, sa, sa);目的混合的选择会无效。这种混合模式只有在D3DRENDERSTATE_SRCBLEND绘制状态中有支持。当您确认目的系统有支持alpha混合之后,就可以传入D3DRENDERSTATE_ALPHABLENDENABLE列举值作为IDirect3DDevice7:SetRenderState的第一个参数,第二个参数则设成TRUE,以启动alpha透明混合。然后可以设定D3DRENDERSTATE_SRCBLEND和D3DRENDERSTATE_DESTBLEND列举值来控制混合系数,作法如下:/建立alpha混合。m_pd3dDevice-SetRenderState(D3DRENDERSTATE_ALPHABLENDENABLE, TRUE);m_pd3dDevice-SetRenderState(D3DRENDERSTATE_SRCBLEND, D3DBLEND flag);m_pd3dDevice-SetRenderState(D3DRENDERSTATE_DESTBLEND, D3DBLEND flag);为了得到最佳的效能,在绘制不需要alpha混合的形状时不应提供固定的alpha值,而应该把ALPHABLENDENABLE设成FALSE(产生的效果相同),也就是说让来源像素不经混合直接写到画面缓冲区中。alpha混合需要相当的数学运算和内存存取动作,所以值得花功夫去开开关关。有种减少必要绘制状态变更的方法,是先把alpha混合关掉并绘制出所有的不透明多边形,然后再打开alpha混合并绘制alpha多边形。特殊效果alpha混合能让您在程序中建立种种特效,包括在浓雾大气中的放射对象(如火焰或雷射),镜头闪光、光影对映以及彩色玻璃等。在下面的次章节中,我会简短地介绍这些效果。浓雾大气中的放射物件要仿真浓雾大气中的放射对象(如火焰或雷射),必须把来源及目的混合状态都设成D3DBLEND_ONE。下面的程序代码负责建立这种混合效果:/绘制一道光,让它像是出现在有薄雾的空间中。m_pd3dDevice-SetRenderState(D3DRENDERSTATE_ALPHABLENDENABLE,TRUE);m_pd3dDevice-SetRenderState(D3DRENDERSTATE_SRCBLEND,D3DBLEND_ONE);m_pd3dDevice-SetRenderState(D3DRENDERSTATE_DESTBLEND,D3DBLEND_ONE);m_pd3dDevice-DrawPrimitive(D3DPT_TRIANGLESTRIP,D3DFVF_VERTEX, g_avLightVertices,4,NULL);火焰之类的对象通常是用平面对象(billboarding)的方式产生。在这个程序中会把2D对象放在3D场景中并加以旋转,让它永远面对观察者。虽然对大部份对象来说这种效果都很假,不过对火焰之类的对象来说,可以在场景中加上平面对象的动画贴图而产生非真实的感觉。镜头闪光镜头闪光被用于各种程序中,用以仿真光线反射出摄影机镜头的效果。Microsoft提供的Flare范例(本书所附光盘安装到mssdksamplesMultimedia d3dimsrcFlare目录中)展示了如何产生这种镜头闪光效果。图10-1显示套用了镜头闪光所产生的动态场景。图10-1Microsoft的Flare程序展示镜头闪光的效果图10-2显示产生动态镜头闪光效果的10张贴图(Shine0.ppm到Shine9.ppm)其中四张。图10-2用于动态镜头闪光效果的贴图图10-2中的各个影像会循环显示,产生最终的动态闪光效果。策略性的使用这种效果来模拟光线反射的感觉,可以让场景看起来更为真实。要建立这种效果必须把来源及目的混合系数都设成D3DBLEND_ONE。光影对映当我们在第十一章深入讨论这个主题时,您会看到光影对映能用贴图作为光影对映图,来影响场景中所用其它贴图的外观。把来源混合状态设成D3DBLEND_ZERO并把目的混合状态设为D3DBLEND_SRCALPHA,就会把来源形状当作光影对映图来调整画面缓冲区中的内容并让场景适时变暗。记住有些加速卡只有在用ARGB:4444、ARGB:1555或ARGB:8888格式贴图时才支持alpha混合。因此您可能得改写加入alpha混合效果的程序代码,让它使用这些贴图格式。为了保证有支持这些格式之一,您必须用EnumTextureFormats方法来确认系统支持含有4个位(或更多)alpha的格式:void ChooseTextureFormat(IDirect3DDevice7 *Device,DWORD bpp, DDPIXELFORMAT *pddpf)FindTextureData FindData;ZeroMemory(&FindData,sizeof(FindData);FindData.bpp =bpp;Device-EnumTextureformats(FindTextureCallback, (LPVOID)&FindData);*pddpf =FindData.ddpf;.彩色玻璃把来源颜色和目的颜色作线性混合,就可以建立彩色玻璃的外观,感觉好像目的对象的部分颜色会穿透来源玻璃,而其它颜色则被玻璃吸收。就平均覆盖在表面的玻璃而言,用顶点alpha(如果颜色一致,用顶点颜色也可以)是最有效率的。如果您想让玻璃的透明度在多边形上非线性地改变,就得用贴图alpha来取代顶点alpha。Alpha测试Alpha测试能控制是否要将像素写入绘制目的绘图页。这个方法常用于建立非矩形位图或制作位图透明效果。当要绘制几近透明的对象时,Alpha测试让您改善程序的效能。要启动alpha测试,可以把D3DRENDERSTATE_ALPHATESTENABLE绘制状态设成TRUE。使用alpha测试时,如果要画在某个像素上的颜色比该点原先的颜色更不透明时,就会用新颜色写入该像素。您要用D3DPCMPCAPS_GREATEREQUAL等旗标来决定该点所要用的颜色状态。如果要绘制的像素比像素原先的颜色要透明,Direct3D就会完全忽略并省下混合两种颜色所需的时间。另外颜色缓冲区和更重要的z缓冲区都没有改变,所有能避免被另一多边形遮住的隐藏部份稍后被画出来。(先绘制所有不透明的多边形,再由远至近绘制透明多边形,也可以避免这个问题。不过这种作法必须在绘制前先将场景中的多边形排序。)您可以透过D3DRENDERSTATE_ALPHAFUNC绘制状态指定一个比较用函式,让Direct3D用这个函式来比较要用的alpha值和一个参考alpha值(由您指定)。当您启动alpha测试时,只有在测试结果成功时才会进行alpha混合。下面是定义这种绘制状态可用的测试方法的D3DCMPFUNC列举类型:typedef enum _D3DCMPFUNC D3DCMP_NEVER =1,D3DCMP_LESS =2,D3DCMP_EQUAL =3,D3DCMP_LESSEQUAL =4,D3DCMP_GREATER =5,D3DCMP_NOTEQUAL =6,D3DCMP_GREATEREQUAL =7,D3DCMP_ALWAYS =8,D3DCMP_FORCE_DWORD =0x7fffffff,D3DCMPFUNC;您透过D3DRENDERSTATE_ALPHAREF绘制状态提供alpha测试的参考值。在下面的程序代码中,会在呼叫SetRenderState时把D3DRENDERSTATE_ALPHAREF设成参考alpha值, Direct3D会在启动alpha测试时用这个值来测试要绘制的像素。您可以指定介于000到0FF的参考alpha值,默认值为0。下列程序代码会检查是否支持特定的比较函式,如果有支持的话,就会让Direct3D使用这个比较函式来增进效能:LPD3DDEVICEDESC7 lpD3DHWDevDesc;device-GetCaps(lpD3DHWDevDesc);/lpD3DHWDevDesc是一个硬件装置D3DDEVICEDESC7结构,/在呼叫IDirect3DDevice7:GetCaps时填入内容。/if (lpD3DHWDevDesc-dpcTriCaps.dwAlphaCmpCaps &D3DPCMPCAPS_GREATEREQUAL)device-SetRenderState(D3DRENDERSTATE_ALPHAREF,(DWORD)0x00000a0);device-SetRenderState(D3DRENDERSTATE_ALPHATESTENABLE,TRUE);device-SetRenderState(D3DRENDERSTATE_ALPHAFUNC,D3DCMP_GREATEREQUAL);如果目的系统不支持所要用的比较函式,就照原本作法绘制形状。不过就得不到所期望的效能改善。上面程序代码中的IDirect3DDevice7:GetCaps会取回现有装置的功能。检查D3DPRIMCAPS结构的dwAlphaCmpCaps成员(放在GetCaps呼叫所用的D3DDEVICEDESC7结构中),就可以决定是否支持所要的比较函式。如果这个成员只包含D3DPCMPCAPS_ALWAYS或D3DPCMPCAPS_NEVER特性,表示现有驱动程序不支持alpha测试。否则dwAlphaCmpCaps就会包含驱动程序支持的各种比较所对应的旗标。如果驱动程序不支持您所要用的方法,就只能选其它有支持的比较函式。如果您想在贴图对映中使用alpha测试,必须确定所用的贴图是用ARGB:4444、ARGB:1555或是ARGB:8888格式才能支持alpha通道。色彩键透明当您指定透明色(或称色彩键,color key )启动透明色透明功能时,是要Direct3D把某个颜色当作透明的。要对贴图套用透明色时,必须指定DDSD_CKSRCBLT旗标来建立贴图。当您在形状上套用以DDSD_CKSRCBLT旗标建立的贴图时,与透明色相同的贴图图素都不会被绘制到形状上。与alpha测试一样,启动透明色透明能加强任何隐藏像素的绘制速度,因为Direct3D只要读取贴图一次(相对于写入贴图一次)。只需要一个读取动作的原因是透明色测试结果会让Direct3D忽略该像素的写入动作。不过要记住,非隐藏的像素会因为进行透明色测试而稍微慢一点点。另外和具备透明度的alpha混合不同的是,当透明色启动时,颜色只会是完全透明的而且永远不会被绘制出来。要设定透明色时可以呼叫要加上透明色的绘图页IDirectDrawSurface7:SetColorKey方法。这个方法的定义如下:HRESULT SetColorKey(DWORD dwFlags,LPDDCOLORKEY lpDDColorKey);参数 说明dwFlags决定要求何种透明色。定义有下列旗标: DDCKEY_COLORSPACE结构中包含一个色彩空间。如果结构中 包含单一个透明色时不会设定这个旗标。DDCKEY_DESTBLT一个在图块搬移运算时作为目的透明色的透 明色或色彩空间。DDCKEY_DESTOVERLAY一个在迭合(overlay)运算时作为目的 透明色的透明色或色彩空间。DDCKEY_SRCBLT一个在图块搬移运算时作为来源透明色的透 明色或色彩空间。DDCKEY_SRCOVERLAY一个在迭合运算时作为来源透明色的透 明色或色彩空间。lpDDColorKeyDDCOLORKEY结构的地址,结构中包含用于DirectDrawSurface对象的新透明色值。您可以把这个值设成NULL来移除原先设定的透明色。DDCOLORKEY结构可以用来设定来源或目的透明色的参数。这个结构定义如下:typedef struct _DDCOLORKEYDWORD dwColorSpaceLowValue;DWORD dwColorSpaceHighValue;DDCOLORKEY,FAR*LPDDCOLORKEY;DDCOLORKEY结构含有两个成员: dwColorSpaceLowValue用作透明色色彩范围的下限值。 dwColorSpaceHighValue用作透明色色彩范围的上限值。您可以用IDirect3DDevice7:SetRenderState方法,把第一个参数设成D3DRENDERSTATE_COLORKEYENABLE并把第二个设成TRUE(启动)或FALSE(关闭),就能开关透明色。这段程序代码展示如何建立透明色:/启动透明色/m_pd3dDevice-SetRenderState(D3DRENDERSTATE_COLORKEYENABLE,TRUE);Direct3D能让您同时使用alpha和透明色。要结合这两个功能,必须启动alpha测试并确定贴图绘制正确。用IDirectDrawSurface7:SetColorKey方法并设定dwColorSpaceLowValue及dwColorSpaceHighValue变量来建立透明色。如果您使用透明色,记得把两个色彩空间值设成同一个颜色值。提示 记住如果您想要完全透明,可以用透明色或一位的alpha。不过如果要有透明度变化就用alpha混合。Microsoft DirectX小组建议开发者停止使用透明色而改用一位alpha透明,因为它能避免某些闪烁现象。具备alpha的调色盘式贴图Direct3D提供了将alpha信息填入贴图调色盘的功能。呼叫IDirectDraw7:GetCaps方法并检查DDCAPS结构dwPalCaps成员中的DDPCAPS_ALPHA调色盘特性旗标,就可以知道现有装置是否支持该功能。Direct3D也允许使用具有alpha功能的调色盘贴图。要知道目的系统是否支持这个功能,可以呼叫IDirect3DDevice7:GetCaps方法,并检查传入的D3DDEVICEDESC7结构中两个D3DPRIMCAPS结构传回的D3DPTEXTURECAPS_ALPHAPALETTE旗标。使用alpha的贴图阶层您在第八章已经看到,IDirect3D7和IDirect3DDevice7能让您在形状上一次混合最多八张贴图。使用alpha的贴图阶层基本上和第八章所描述的贴图阶层一样,不过有个明显的例外,就是能处理alpha信息。要用alpha运算时可以用D3DTSS_ALPHAOP贴图阶层(和第八章所学到的色彩通道类似),它会依序使用D3DTEXTUREOP列举类型中的值。下面列出能用alpha混合的贴图混合阶层: D3DTSS_ALPHAOP由D3DTEXTUREOP列举类型成员之一所定义的一种贴图alpha混合运算。用于第一贴图阶层(阶层0)的默认值为D3DTOP_SELECTARG1。其它阶层的默认值为D3DTOP_DISABLE。 D3DTSS_ALPHAARG1由贴图参数旗标所定义的阶层第一alpha参数。预设参数为D3DTA_TEXTURE。如果该阶层未设定贴图,预设参数为D3DTA_DIFFUSE。 D3DTSS_ALPHAARG2由贴图参数旗标所定义的阶层第二alpha参数。预设参数为D3DTA_CURRENT。下列程序代码片段展示结合这三种状态的用法:m_pd3dDevice-SetTextureStageState(i,D3DTSS_ALPHAOP,op);m_pd3dDevice-SetTextureStageState(i,D3DTSS_ALPHAARG1,arg1);m_pd3dDevice-SetTextureStageState(i,D3DTSS_ALPHAARG2,arg2);旧式的混合模式和贴图阶层如果您在更新用前一版Direct3D制作的软件,必须知道另一个较旧的alpha混合特性D3DRENDERSTATE_TEXTUREBLEND绘制状态。Direct3D的早期版本引进了贴图混合绘制状态和早期的贴图混合模式。Direct3D文件中说明如何用贴图阶层建立一组与旧式混合模式相同的混合效果。下面列出这些由D3DTEXTURE-BLEND成员所定义的模式,并列有如何用贴图阶层状态建立相同混合效果的范例。所以加入这些信息,是针对使用这些模式或接收旧程序代码又要升级到最新DirectX版本的人。D3DTBLEND_ADD/g_lpDev是指向IDirect3DDevice7接口的合法指针。g_lpDev-SetTextureStageState(0,COLOROP,D3DTOP_ADD);g_lpDev-SetTextureStageState(0,COLORARG1,D3DTA_TEXTURE);g_lpDev-SetTextureStageState(0,COLORARG2,D3DTA_DIFFUSE);g_lpDev-SetTextureStageState(0,ALPHAOP,D3DTOP_SELECTARG2);g_lpDev-SetTextureStageState(0,ALPHAARG2,D3DTA_DIFFUSE);D3DTBLEND_COPY and D3DTBLEND_DECAL/g_lpDev是指向IDirect3DDevice7接口的合法指针。g_lpDev-SetTextureStageState(0,COLOROP,D3DTOP_SELECTARG1);g_lpDev-SetTextureStageState(0,COLORARG1,D3DTA_TEXTURE);g_lpDev-SetTextureStageState(0,ALPHAOP,D3DTOP_SELECTARG1);g_lpDev-SetTextureStageState(0,ALPHAARG2,D3DTA_TEXTURE);D3DTBLEND_DECALALPHA/g_lpDev是指向IDirect3DDevice7接口的合法指针。g_lpDev-SetTextureStageState(0,COLOROP,D3DTOP_BLENDTEXTUREALPHA);g_lpDev-SetTextureStageState(0,COLORARG1,D3DTA_TEXTURE);g_lpDev-SetTextureStageState(0,COLORARG2,D3DTA_DIFFUSE);g_lpDev-SetTextureStageState(0,ALPHAOP,D3DTOP_SELECTARG2);g_lpDev-SetTextureStageState(0,ALPHAARG2,D3DTA_DIFFUSE);D3DTBLEND_MODULATE/g_lpDev是指向IDirect3DDevice7接口的合法指针。g_lpDev-SetTextureStageState(0,COLOROP,D3DTOP_MODULATE);g_lpDev-SetTextureStageState(0,COLORARG1,D3DTA_TEXTURE);g_lpDev-SetTextureStageState(0,COLORARG2,D3DTA_DIFFUSE);if (the_texture_has_an_alpha_channel )g_lpDev-SetTextureStageState(0,ALPHAOP,D3DTOP_SELECTARG1);g_lpDev-SetTextureStageState(0,ALPHAARG1,D3DTA_TEXTURE);elseg_lpDev-SetTextureStageState(0,ALPHAOP,D3DTOP_SELECTARG2);g_lpDev-SetTextureStageState(0,ALPHAARG2,D3DTA_DIFFUSE);D3DTBLEND_MODULATEALPHA/g_lpDev是指向IDirect3DDevice7接口的合法指针。g_lpDev-SetTextureStageState(0,COLOROP,D3DTOP_MODULATE);g_lpDev-SetTextureStageState(0,COLORARG1,D3DTA_TEXTURE);g_lpDev-SetText
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广西中考道德与法治真题(原卷版)
- 2026年现代医学视点下的口腔溃疡科普讲座
- 2026年居家适老化改造消防安全要点
- 2025湖南省中考英语真题(原卷版)
- 2026年极端天气下的物流保障预案
- 2026年污水处理厂工艺控制智能化升级与节能运行
- 2026年农产品无损检测技术与内部品质评估
- 2026年幼儿园安全隐患排查与幼儿安全保护奖惩规定
- 上海立信会计金融学院《阿拉伯语会话》2025-2026学年第一学期期末试卷(A卷)
- 2026年智能家居产品设计的人机交互革新
- 2025年重庆红色旅游市场调研报告
- CJ/T 288-2008预制双层不锈钢烟道及烟囱
- 东航总部劳务派遣合同6篇
- 外厂人员驻厂安全协议书
- 加油站资产价值评估报告
- 企业民法典宣讲课件
- 北师大版五年级数学下册 第八单元 1复式条形统计图 同步练习(含答案)
- 中华人民共和国民法典知识竞赛题库及答案
- DB37T 5069-2016 太阳能热水系统安装及验收技术规程
- 2025年江苏省南通市中考生物试卷(含答案解析)
- 合规经理招聘面试题与参考回答(某大型国企)2025年
评论
0/150
提交评论