• <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 :? 默認(rèn)的有視口,不需要再建立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 夢在天涯 閱讀(579) 評論(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

            搜索

            •  

            積分與排名

            • 積分 - 1804303
            • 排名 - 5

            最新評論

            閱讀排行榜

            一本综合久久国产二区| 日韩精品久久久久久免费| 久久精品卫校国产小美女| 国产精品视频久久久| 香蕉aa三级久久毛片| 99久久人妻无码精品系列| 欧美与黑人午夜性猛交久久久| 无码人妻久久一区二区三区 | 久久久久亚洲AV成人网人人网站| 伊人久久精品无码av一区| 99久久国产综合精品网成人影院| 精品熟女少妇AV免费久久| 国产成人精品久久综合| 72种姿势欧美久久久久大黄蕉| 亚洲人成无码久久电影网站| 免费观看久久精彩视频| 久久久久久亚洲精品成人| 亚洲国产精品无码久久九九| 国产精品丝袜久久久久久不卡| 色诱久久久久综合网ywww| 久久午夜福利无码1000合集| 国产精品99久久久久久猫咪| 麻豆精品久久久一区二区| 久久精品aⅴ无码中文字字幕不卡| 久久久久久久精品成人热色戒| 久久久久亚洲精品无码网址| 99热都是精品久久久久久| 国产69精品久久久久777| 久久午夜无码鲁丝片| 亚洲AV无码久久| 人妻丰满AV无码久久不卡| 午夜精品久久久久久久| 亚洲精品tv久久久久久久久| 亚洲AV无码1区2区久久| 久久精品一本到99热免费| 久久99热这里只有精品国产| 久久综合九色综合网站| 亚洲日韩中文无码久久| 精品久久久噜噜噜久久久| 国内精品伊人久久久久av一坑| 精品国产乱码久久久久久郑州公司 |