博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

2013年1月31日

摘要: 绘制图形的颜色总是替换当前颜色缓冲区中存在的颜色,这样后面的物体总是覆盖在原有的物体上。但是当想要绘制类似于玻璃、水等具有透明效果的物体时,这种方法显然满足不了要求。通过定义一个表示物体半透明度的alpha值和一个半透明计算公式,可以将要绘制的物体颜色与颜色缓冲区中存在的颜色相混合,从而绘制出具有半透明效果的物体。Direct3D计算alpha颜色混合的方法如下:color = (RGBsrc * Ksrc) OP (RGBdst * Kdst)其中color表示alpha混合后的颜色值,RGBsrc表示源颜色值,即将要绘制的图元的颜色值;Ksrc表示源混合系数,通常赋值为表示半透明程度的al 阅读全文

posted @ 2013-01-31 17:37 RUI2021 阅读(849) 评论(0) 推荐(0) 编辑

摘要: 1.渲染的先决条件 打开ALPHA渲染 m_pd3dDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, true); 对于通过程序顶点构造的多边形渲染时必须开启ALPHA通道 m_pd3dDevice->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE); 设置为普通Alpha混合 m_pd3dDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); m_pd3dDevice->SetRenderState( 阅读全文

posted @ 2013-01-31 11:36 RUI2021 阅读(1659) 评论(0) 推荐(0) 编辑

2013年1月30日

摘要: 1. 向量和点需要掌握的向量运算有:加,减,乘以实数,求长,求单位向量,点乘,×乘。更重要的是,要明确其物理意义,具体的就随便找本线性代数课本看好了。它在图形学中的碰撞处理、物理模拟等常见技术中占有极重要的地位。同时也要明白点和向量的关系,点表示位置,向量表示一个方向的运动。D3D中的向量封装在D3DVECTOR结构的各个子类中(注意,c++中的类和结构只有默认访问权限上的区别),其中包含了常用的向量计算函数。如,D3DXVECTOR3代表一个三维向量。2. 矩阵需要掌握矩阵的基本计算,特别是乘法。矩阵在图形学中,主要D3D用于通过代数思想来实现缩放、转动、移动(平移)等视觉上重要的 阅读全文

posted @ 2013-01-30 14:33 RUI2021 阅读(509) 评论(0) 推荐(0) 编辑

摘要: 1.3D视觉效果首先,从感性来说,一个平面图形怎么让人眼产生立体感,最简单的其实就是"近大远小"。如上图,两条平行的线,由进及远距离原来越小,知道称为同一点(vanishing point),就形成了立体的效果。上图描绘了另外一种情况(其实就是之前depth buffer的例子),四种图形相互掩盖,也能让人形成前后的视觉。那单个物体,怎么现实立体感呢,看下图:左边是个圆,正常人都会这么认为。。。不会把它想成球,右边则相反,怎么看都是个球体。两边差了啥呢?光照(lighting)和着色(shading,注意这个词不是阴影的意思)。再看上图,一个飞机,嗯,为什么我们觉得它在空中 阅读全文

posted @ 2013-01-30 14:02 RUI2021 阅读(429) 评论(0) 推荐(0) 编辑

2010年3月10日

摘要: http://msdn.microsoft.com/zh-cn/library/be94e8aw.aspx 阅读全文

posted @ 2010-03-10 13:25 RUI2021 阅读(313) 评论(0) 推荐(0) 编辑