• <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++ 基礎(chǔ)} {C++ 高級} {C#界面,C++核心算法} {設(shè)計模式} {C#基礎(chǔ)}

            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 夢在天涯 閱讀(582) 評論(1)  編輯 收藏 引用 所屬分類: DirectX

            評論

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

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

            公告

            EMail:itech001#126.com

            導(dǎo)航

            統(tǒng)計

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

            常用鏈接

            隨筆分類

            隨筆檔案

            收藏夾

            Blogs

            c#(csharp)

            C++(cpp)

            Enlish

            Forums(bbs)

            My self

            Often go

            Useful Webs

            Xml/Uml/html

            搜索

            •  

            積分與排名

            • 積分 - 1807508
            • 排名 - 5

            最新評論

            閱讀排行榜

            老色鬼久久亚洲AV综合| 精品久久久久久无码中文野结衣 | AV色综合久久天堂AV色综合在 | 久久精品国产亚洲精品2020| 欧美伊香蕉久久综合类网站| 久久久不卡国产精品一区二区 | 久久精品免费观看| 精品一二三区久久aaa片| 国产V亚洲V天堂无码久久久| 99久久精品国产毛片| 国产精品久久久福利| 狠狠色婷婷久久一区二区| 久久久久99精品成人片| 亚洲AV日韩精品久久久久| 久久成人小视频| 久久久WWW成人免费精品| 亚洲精品国产字幕久久不卡| 久久精品这里只有精99品| 久久精品欧美日韩精品| 亚洲七七久久精品中文国产| 精品一久久香蕉国产线看播放| 久久久久精品国产亚洲AV无码| 93精91精品国产综合久久香蕉| 无码精品久久久久久人妻中字| 久久久久女教师免费一区| 精品国产91久久久久久久| 久久久一本精品99久久精品66| 色综合久久久久综合99| 久久综合伊人77777麻豆| 99久久国产免费福利| 久久av无码专区亚洲av桃花岛| 久久亚洲中文字幕精品一区四| 国内精品久久久久久久coent| 国产精品99精品久久免费| 久久久久久国产精品无码超碰| 久久九九久精品国产免费直播| 伊人久久大香线蕉精品不卡| 久久久久久久久久久免费精品| 久久精品成人免费观看97| 欧美成a人片免费看久久| 久久国产欧美日韩精品免费|