• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            C++ Programmer's Cookbook

            {C++ 基礎} {C++ 高級} {C#界面,C++核心算法} {設計模式} {C#基礎}

            Managed directx -----the different of transformed vertex and untransformed vertex

            transformed? vertex :? 默認的有視口,不需要再建立camara.

            public?void?OnCreateVertexBuffer(object?sender,?EventArgs?e)
            ????????
            {
            ????????????VertexBuffer?vb?
            =?(VertexBuffer)sender;
            ????????????GraphicsStream?stm?
            =?vb.Lock(0,?0,?0);
            ????????????CustomVertex.TransformedColored[]?verts?
            =?new?CustomVertex.TransformedColored[3];

            ????????????verts[
            0].X=150;verts[0].Y=50;verts[0].Z=0.5f;?verts[0].Rhw=5;?verts[0].Color?=?System.Drawing.Color.Red.ToArgb();
            ????????????verts[
            1].X=250;verts[1].Y=250;verts[1].Z=0.5f;?verts[1].Rhw=5;?verts[1].Color?=?System.Drawing.Color.Yellow.ToArgb();
            ????????????verts[
            2].X=50;verts[2].Y=250;verts[2].Z=0.5f;?verts[2].Rhw=5;?verts[2].Color?=?System.Drawing.Color.SkyBlue.ToArgb();
            ????????????stm.Write(verts);
            ????????????vb.Unlock();
            ????????}

            ????????
            private?void?Render()
            ????????
            {
            ????????????
            if?(device?==?null)?
            ????????????????
            return;

            ????????????
            //Clear?the?backbuffer?to?a?blue?color?(ARGB?=?000000ff)
            ????????????device.Clear(ClearFlags.Target,?System.Drawing.Color.Blue,?1.0f,?0);
            ????????????
            //Begin?the?scene
            ????????????device.BeginScene();
            ????????????
            ????????????device.SetStreamSource(?
            0,?vertexBuffer,?0);
            ????????????device.VertexFormat?
            =?CustomVertex.TransformedColored.Format;
            ????????????device.DrawPrimitives(PrimitiveType.TriangleList,?
            0,?1);
            ????????????
            //End?the?scene
            ????????????device.EndScene();
            ????????????device.Present();
            ????????}


            untransformed vertex : 必須的manual建立camare去顯示
            public?void?OnCreateVertexBuffer(object?sender,?EventArgs?e)
            ????????
            {
            ????????????VertexBuffer?vb?
            =?(VertexBuffer)sender;
            ????????????CustomVertex.PositionColored[]?verts?
            =?(CustomVertex.PositionColored[])vb.Lock(0,0);
            ????????????verts[
            0].X=-1.0f;?verts[0].Y=-1.0f;?verts[0].Z=0.0f;?verts[0].Color?=?System.Drawing.Color.DarkGoldenrod.ToArgb();
            ????????????verts[
            1].X=1.0f;?verts[1].Y=-1.0f?;verts[1].Z=0.0f;?verts[1].Color?=?System.Drawing.Color.MediumOrchid.ToArgb();
            ????????????verts[
            2].X=0.0f;?verts[2].Y=1.0f;?verts[2].Z?=?0.0f;?verts[2].Color?=?System.Drawing.Color.Cornsilk.ToArgb();
            ????????????vb.Unlock();
            ????????}


            ????????
            private?void?Render()
            ????????
            {
            ????????????
            if?(device?==?null)?
            ????????????????
            return;

            ????????????
            if?(pause)
            ????????????????
            return;

            ????????????
            //Clear?the?backbuffer?to?a?blue?color?
            ????????????device.Clear(ClearFlags.Target,?System.Drawing.Color.Blue,?1.0f,?0);
            ????????????
            //Begin?the?scene
            ????????????device.BeginScene();
            ????????????
            //?Setup?the?world,?view,?and?projection?matrices
            ????????????SetupMatrices();
            ????
            ????????????device.SetStreamSource(
            0,?vertexBuffer,?0);
            ????????????device.VertexFormat?
            =?CustomVertex.PositionColored.Format;
            ????????????device.DrawPrimitives(PrimitiveType.TriangleList,?
            0,?1);
            ????????????
            //End?the?scene
            ????????????device.EndScene();
            ????????????device.Present();
            ????????}


            ????????
            private?void?SetupMatrices()
            ????????
            {
            ????????????
            //?For?our?world?matrix,?we?will?just?rotate?the?object?about?the?y-axis.

            ????????????
            //?Set?up?the?rotation?matrix?to?generate?1?full?rotation?(2*PI?radians)?
            ????????????
            //?every?1000?ms.?To?avoid?the?loss?of?precision?inherent?in?very?high?
            ????????????
            //?floating?point?numbers,?the?system?time?is?modulated?by?the?rotation?
            ????????????
            //?period?before?conversion?to?a?radian?angle.
            ????????????int??iTime??=?Environment.TickCount?%?1000;
            ????????????
            float?fAngle?=?iTime?*?(2.0f?*?(float)Math.PI)?/?1000.0f;
            ????????????device.Transform.World?
            =?Matrix.RotationY(?fAngle?);

            ????????????
            //?Set?up?our?view?matrix.?A?view?matrix?can?be?defined?given?an?eye?point,
            ????????????
            //?a?point?to?lookat,?and?a?direction?for?which?way?is?up.?Here,?we?set?the
            ????????????
            //?eye?five?units?back?along?the?z-axis?and?up?three?units,?look?at?the
            ????????????
            //?origin,?and?define?"up"?to?be?in?the?y-direction.
            ????????????device.Transform.View?=?Matrix.LookAtLH(?new?Vector3(?0.0f,?3.0f,-5.0f?),?new?Vector3(?0.0f,?0.0f,?0.0f?),?new?Vector3(?0.0f,?1.0f,?0.0f?)?);

            ????????????
            //?For?the?projection?matrix,?we?set?up?a?perspective?transform?(which
            ????????????
            //?transforms?geometry?from?3D?view?space?to?2D?viewport?space,?with
            ????????????
            //?a?perspective?divide?making?objects?smaller?in?the?distance).?To?build
            ????????????
            //?a?perpsective?transform,?we?need?the?field?of?view?(1/4?pi?is?common),
            ????????????
            //?the?aspect?ratio,?and?the?near?and?far?clipping?planes?(which?define?at
            ????????????
            //?what?distances?geometry?should?be?no?longer?be?rendered).
            ????????????device.Transform.Projection?=?Matrix.PerspectiveFovLH(?(float)Math.PI?/?4,?1.0f,?1.0f,?100.0f?);
            ????????}
            看好拉,多了一個建立matrix的function: 她的作用看代碼嘍!!!~~~~~~~~~~~~~~

            posted on 2006-06-09 16:33 夢在天涯 閱讀(583) 評論(1)  編輯 收藏 引用 所屬分類: DirectX

            評論

            # re: the different of transformed vertex and untransformed vertex 2006-06-09 16:37 夢在天涯

            都有這個device.SetStreamSource(0, vertexBuffer, 0);
            她的作用?可以不要嗎?
              回復  更多評論   

            公告

            EMail:itech001#126.com

            導航

            統計

            • 隨筆 - 461
            • 文章 - 4
            • 評論 - 746
            • 引用 - 0

            常用鏈接

            隨筆分類

            隨筆檔案

            收藏夾

            Blogs

            c#(csharp)

            C++(cpp)

            Enlish

            Forums(bbs)

            My self

            Often go

            Useful Webs

            Xml/Uml/html

            搜索

            •  

            積分與排名

            • 積分 - 1807602
            • 排名 - 5

            最新評論

            閱讀排行榜

            国内精品人妻无码久久久影院 | 久久久久久久久久免免费精品| 国内精品久久人妻互换| 婷婷综合久久中文字幕| 久久一区二区免费播放| 无码AV中文字幕久久专区| 久久国产精品-国产精品| 香蕉99久久国产综合精品宅男自 | 久久久久亚洲av无码专区喷水| 久久精品国产69国产精品亚洲| 亚洲精品国产第一综合99久久| 亚洲va久久久噜噜噜久久男同| 国产精品久久久久久| 狠狠色丁香久久婷婷综合_中| 精品国产福利久久久| 国内精品久久久久久久久电影网 | 国内精品伊人久久久久妇| www.久久99| 亚洲国产精品无码久久SM| 亚洲国产小视频精品久久久三级 | 精品无码久久久久久尤物| 久久久久无码精品| 国产叼嘿久久精品久久| 久久精品午夜一区二区福利 | 91精品国产色综久久| 1000部精品久久久久久久久| 亚洲AV无码久久精品色欲| 午夜精品久久久久久影视riav| 久久精品国产精品国产精品污| 久久精品国产亚洲AV麻豆网站| 日韩人妻无码精品久久免费一| 久久久久久国产精品无码下载| 中文字幕精品无码久久久久久3D日动漫 | 伊人久久大香线蕉精品| 久久久久高潮毛片免费全部播放| 久久精品一区二区三区AV| 国产精品久久久久久久久软件| 青青草原综合久久大伊人| 久久这里有精品| 人妻无码αv中文字幕久久 | 久久99国产精品99久久|