亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? d3dtriangle.cs

?? Particle System Test Application on C#
?? CS
?? 第 1 頁 / 共 2 頁
字號:
        device.RenderState.CullMode = Cull.Clockwise;  
        device.RenderState.Lighting = false;        //make sure lighting is disabled, since the sample uses lit vertices.
    }

    static private void DrawLine(
        CustomVertex.PositionColored[] vertices,
        ref int index,
        Vector3 from,
        Vector3 to,
        Int32 color)
    {
        vertices[index].X = from.X;
        vertices[index].Y = from.Y;
        vertices[index].Z = from.Z;
        vertices[index].Color = color;
        ++index;

        vertices[index].X = to.X;
        vertices[index].Y = to.Y;
        vertices[index].Z = to.Z;
        vertices[index].Color = color;
        ++index;
    }

    static private void DrawAxisAlignedBoxLine(
        CustomVertex.PositionColored[] vertices,
        ref int index,
        Vector3 corner,
        Vector3 oppositeCorner,
        Int32 color,
        int fromCornerIndex,
        int toCornerIndex)
    {
        if( fromCornerIndex < 0 || fromCornerIndex > 7 )
        {
            throw new System.Exception("fromCornerIndex parameter must be between 0 and 7");
        }

        if( toCornerIndex < 0 || toCornerIndex > 7 )
        {
            throw new System.Exception("toCornerIndex parameter must be between 0 and 7");
        }

        bool lFromXChooser = (fromCornerIndex & 1) != 0;
        bool lFromYChooser = (fromCornerIndex & 2) != 0;
        bool lFromZChooser = (fromCornerIndex & 4) != 0;

        bool lToXChooser = (toCornerIndex & 1) != 0;
        bool lToYChooser = (toCornerIndex & 2) != 0;
        bool lToZChooser = (toCornerIndex & 4) != 0;


        Vector3 lFrom = new Vector3(
            lFromXChooser ? oppositeCorner.X : corner.X,
            lFromYChooser ? oppositeCorner.Y : corner.Y,
            lFromZChooser ? oppositeCorner.Z : corner.Z);

        Vector3 lTo = new Vector3(
            lToXChooser ? oppositeCorner.X : corner.X,
            lToYChooser ? oppositeCorner.Y : corner.Y,
            lToZChooser ? oppositeCorner.Z : corner.Z);

        DrawLine(vertices, ref index, lFrom, lTo, color);

    }


    private static void FillVertexBuffer(
        VertexBuffer linesVB, 
        out int renderedLines,
        ParticleSystem ps)
    {
    {
        CustomVertex.PositionColored[] verts = (CustomVertex.PositionColored[])linesVB.Lock(0,0);

        int lIndex = 0;

        Particle[] lParticles = ps.Particles;
        foreach( Particle lParticle in lParticles )
        {
            float lSide = 0.2f;

            Vector3 lPosition = lParticle.Position;

            verts[lIndex].X= lPosition.X; 
            verts[lIndex].Y= lPosition.Y - lSide; 
            verts[lIndex].Z= lPosition.Z; 
            verts[lIndex].Color = System.Drawing.Color.Red.ToArgb();
            ++lIndex;

            verts[lIndex].X= lPosition.X; 
            verts[lIndex].Y= lPosition.Y + lSide; 
            verts[lIndex].Z= lPosition.Z; 
            verts[lIndex].Color = System.Drawing.Color.Red.ToArgb();
            ++lIndex;

            verts[lIndex].X= lPosition.X - lSide; 
            verts[lIndex].Y= lPosition.Y; 
            verts[lIndex].Z= lPosition.Z; 
            verts[lIndex].Color = System.Drawing.Color.Red.ToArgb();
            ++lIndex;

            verts[lIndex].X= lPosition.X + lSide; 
            verts[lIndex].Y= lPosition.Y; 
            verts[lIndex].Z= lPosition.Z; 
            verts[lIndex].Color = System.Drawing.Color.Red.ToArgb();
            ++lIndex;

            verts[lIndex].X= lPosition.X; 
            verts[lIndex].Y= lPosition.Y; 
            verts[lIndex].Z= lPosition.Z - lSide; 
            verts[lIndex].Color = System.Drawing.Color.Red.ToArgb();
            ++lIndex;

            verts[lIndex].X= lPosition.X; 
            verts[lIndex].Y= lPosition.Y; 
            verts[lIndex].Z= lPosition.Z + lSide; 
            verts[lIndex].Color = System.Drawing.Color.Red.ToArgb();
            ++lIndex;

        }

        IConstraint[] lConstraints = ps.Constraints;
        foreach( IConstraint lConstraint in lConstraints )
        {
            TwoParticleHolder lTwoParticleHolder = lConstraint as TwoParticleHolder;
            if( lTwoParticleHolder != null )
            {
                Int32 lColor;

                if( lTwoParticleHolder is Stick )
                {
                    lColor = System.Drawing.Color.Yellow.ToArgb();
                }
                else if( lTwoParticleHolder is Rope )
                {
                    lColor = System.Drawing.Color.Lime.ToArgb();
                }
                else
                {
                    lColor = System.Drawing.Color.White.ToArgb();
                }

                DrawLine(
                    verts, 
                    ref lIndex, 
                    lTwoParticleHolder.Particle1.Position,
                    lTwoParticleHolder.Particle2.Position,
                    lColor);
            }
        }

        IGlobalConstraint[] lGlobalConstraints = ps.GlobalConstraints;
        foreach( IGlobalConstraint lGlobalConstraint in lGlobalConstraints )
        {
            AxisAlignedBox lAxisAlignedBox = lGlobalConstraint as AxisAlignedBox;
            if( lAxisAlignedBox != null )
            {
                Int32 lColor = System.Drawing.Color.White.ToArgb();

                DrawAxisAlignedBoxLine(
                    verts,
                    ref lIndex,
                    lAxisAlignedBox.Corner,
                    lAxisAlignedBox.OppositeCorner,
                    lColor,
                    0,
                    1);
						
                DrawAxisAlignedBoxLine(
                    verts,
                    ref lIndex,
                    lAxisAlignedBox.Corner,
                    lAxisAlignedBox.OppositeCorner,
                    lColor,
                    1,
                    3);

                DrawAxisAlignedBoxLine(
                    verts,
                    ref lIndex,
                    lAxisAlignedBox.Corner,
                    lAxisAlignedBox.OppositeCorner,
                    lColor,
                    3,
                    2);

                DrawAxisAlignedBoxLine(
                    verts,
                    ref lIndex,
                    lAxisAlignedBox.Corner,
                    lAxisAlignedBox.OppositeCorner,
                    lColor,
                    2,
                    0);

                DrawAxisAlignedBoxLine(
                    verts,
                    ref lIndex,
                    lAxisAlignedBox.Corner,
                    lAxisAlignedBox.OppositeCorner,
                    lColor,
                    4,
                    5);
						
                DrawAxisAlignedBoxLine(
                    verts,
                    ref lIndex,
                    lAxisAlignedBox.Corner,
                    lAxisAlignedBox.OppositeCorner,
                    lColor,
                    5,
                    7);

                DrawAxisAlignedBoxLine(
                    verts,
                    ref lIndex,
                    lAxisAlignedBox.Corner,
                    lAxisAlignedBox.OppositeCorner,
                    lColor,
                    7,
                    6);

                DrawAxisAlignedBoxLine(
                    verts,
                    ref lIndex,
                    lAxisAlignedBox.Corner,
                    lAxisAlignedBox.OppositeCorner,
                    lColor,
                    6,
                    4);

                DrawAxisAlignedBoxLine(
                    verts,
                    ref lIndex,
                    lAxisAlignedBox.Corner,
                    lAxisAlignedBox.OppositeCorner,
                    lColor,
                    0,
                    4);

                DrawAxisAlignedBoxLine(
                    verts,
                    ref lIndex,
                    lAxisAlignedBox.Corner,
                    lAxisAlignedBox.OppositeCorner,
                    lColor,
                    1,
                    5);

                DrawAxisAlignedBoxLine(
                    verts,
                    ref lIndex,
                    lAxisAlignedBox.Corner,
                    lAxisAlignedBox.OppositeCorner,
                    lColor,
                    2,
                    6);

                DrawAxisAlignedBoxLine(
                    verts,
                    ref lIndex,
                    lAxisAlignedBox.Corner,
                    lAxisAlignedBox.OppositeCorner,
                    lColor,
                    3,
                    7);
            }

        }

        linesVB.Unlock();
        renderedLines = lIndex / 2;
    }
    }

    /// <summary>
    /// Called when a vertex buffer needs to be filled with data.
    /// </summary>
    public void OnCreateVertexBuffer(object sender, EventArgs e)
    {
    }

    private void InitializeComponent()
    {
        // 
        // ourRenderTarget
        // 
        this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
        this.ClientSize = new System.Drawing.Size(400, 300);
        this.Name = "ourRenderTarget";
        this.Closing += new System.ComponentModel.CancelEventHandler(this.ourRenderTarget_Closing);
        this.Load += new System.EventHandler(this.ourRenderTarget_Load);

    }

    private void ourRenderTarget_Load(object sender, System.EventArgs e)
    {
	
    }

    private void ourRenderTarget_Closing(object sender, System.ComponentModel.CancelEventArgs e)
    {
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日产在线观看| 国产一区二区在线免费观看| 色婷婷一区二区| 亚洲三级小视频| av资源站一区| 亚洲自拍偷拍欧美| 欧美日韩精品一区视频| 日韩综合小视频| 欧美本精品男人aⅴ天堂| 乱一区二区av| 国产偷国产偷精品高清尤物| 99精品久久99久久久久| 亚洲影视在线播放| 精品女同一区二区| 99精品视频一区| 亚洲国产综合色| 精品美女一区二区三区| 成人黄色大片在线观看| 一区二区激情小说| 日韩亚洲欧美在线观看| 成人动漫一区二区在线| 亚洲高清免费在线| 久久伊人蜜桃av一区二区| 91社区在线播放| 日韩专区欧美专区| 国产欧美va欧美不卡在线| 精品1区2区3区| 97se亚洲国产综合自在线| 欧美电影在线免费观看| 国产在线一区观看| 久久国产免费看| 日本一区二区成人在线| 欧洲日韩一区二区三区| 国产综合色在线视频区| 一区二区三区日韩欧美| 久久一区二区三区国产精品| 在线看国产一区二区| 国产一区不卡视频| 亚洲成人中文在线| 国产精品免费久久久久| 精品剧情在线观看| 在线亚洲人成电影网站色www| 精品一区二区三区免费播放| 亚洲精品久久久蜜桃| 久久久美女艺术照精彩视频福利播放| 色琪琪一区二区三区亚洲区| 国产成人一区二区精品非洲| 日产精品久久久久久久性色| 亚洲欧美偷拍另类a∨色屁股| 久久影院视频免费| 欧美一区三区二区| 在线国产亚洲欧美| 成人免费观看av| 国产毛片精品一区| 日韩中文字幕1| 亚洲成人激情综合网| 最新欧美精品一区二区三区| 久久久青草青青国产亚洲免观| 91精品国产福利| 欧美日韩综合不卡| 一本一本大道香蕉久在线精品| 国产v综合v亚洲欧| 国产一区在线不卡| 久久99精品久久只有精品| 首页国产丝袜综合| 亚洲成人免费影院| 亚洲成人动漫在线免费观看| 综合在线观看色| 亚洲欧美日韩国产手机在线| 国产精品国产三级国产普通话蜜臀 | 欧美日本精品一区二区三区| 91国产精品成人| 色菇凉天天综合网| 成人app在线| 本田岬高潮一区二区三区| 成人国产精品视频| 99视频超级精品| 99久久免费精品| 色域天天综合网| 在线国产亚洲欧美| 欧美日韩激情一区| 91精品综合久久久久久| 国产精品美女久久久久av爽李琼| 久久奇米777| 日本一区二区三区四区在线视频| 欧美激情一区二区| 综合色天天鬼久久鬼色| 亚洲综合区在线| 丝袜国产日韩另类美女| 麻豆成人综合网| 国产麻豆视频一区| 成a人片国产精品| 欧美在线不卡视频| 69av一区二区三区| 久久精品夜夜夜夜久久| 中文字幕一区二区三区四区 | 久久一日本道色综合| 欧美激情中文不卡| 夜夜嗨av一区二区三区网页 | 精品少妇一区二区三区视频免付费| 欧美精品一区二区三区在线 | 日韩女优av电影在线观看| 精品国产免费一区二区三区香蕉| 精品精品国产高清一毛片一天堂| 中文av一区二区| 一区二区三区在线观看欧美| 蜜桃久久久久久| 成人av在线网| 欧美日韩精品欧美日韩精品一综合| 欧美xxxxxxxx| 综合久久久久久| 另类小说视频一区二区| av福利精品导航| 制服丝袜日韩国产| 国产精品免费看片| 日本美女一区二区三区| 国产99精品视频| 欧美日韩一区二区在线观看| 久久久久久黄色| 夜夜嗨av一区二区三区网页| 狠狠色综合日日| 欧美色区777第一页| 久久精品这里都是精品| 国产一区二区剧情av在线| 97se亚洲国产综合自在线不卡| 日韩精品一区二| 亚洲黄色录像片| 高清在线不卡av| 欧美成人官网二区| 伊人夜夜躁av伊人久久| 国产又黄又大久久| 欧美日韩小视频| 国产精品热久久久久夜色精品三区| 亚洲福利一区二区三区| 国产 欧美在线| 欧美成人精品福利| 午夜久久久影院| av亚洲精华国产精华精华| 日韩欧美第一区| 亚洲无人区一区| 91老师片黄在线观看| 久久久久99精品国产片| 青娱乐精品在线视频| 在线观看日韩国产| 国产精品伦一区二区三级视频| 久久精品免费看| 欧美日韩免费在线视频| 亚洲天堂a在线| 成人午夜激情影院| 国产人伦精品一区二区| 久久99久久久欧美国产| 91精品国模一区二区三区| 亚洲电影视频在线| 欧美亚洲免费在线一区| 亚洲精品伦理在线| 99久久精品费精品国产一区二区| 国产女人aaa级久久久级| 国产在线精品一区二区三区不卡| 在线成人免费观看| 无吗不卡中文字幕| 欧美日韩三级视频| 亚洲成人久久影院| 欧美三片在线视频观看 | 日韩精品高清不卡| 欧美日韩国产在线播放网站| 亚洲九九爱视频| 色婷婷久久99综合精品jk白丝| 亚洲欧美日韩国产综合| 色哟哟欧美精品| 一区二区三区国产精品| 欧美性生活一区| 亚洲国产成人va在线观看天堂| 欧美亚洲国产一区二区三区 | 国产精品香蕉一区二区三区| 欧美成人r级一区二区三区| 久久激情五月激情| 久久久久国产精品麻豆ai换脸 | 日韩免费在线观看| 国模娜娜一区二区三区| 久久久亚洲国产美女国产盗摄| 国产精品一区免费在线观看| 国产精品色哟哟| 91免费精品国自产拍在线不卡| 亚洲精品高清在线观看| 欧洲一区二区三区免费视频| 香蕉久久一区二区不卡无毒影院| 欧美一区二区视频免费观看| 国内外精品视频| 18欧美亚洲精品| 欧美美女一区二区在线观看| 国产最新精品精品你懂的| 国产精品欧美一区喷水| 91激情在线视频| 日韩在线一区二区| 久久精品一区二区三区不卡牛牛 | 懂色一区二区三区免费观看| 日韩美女视频一区二区| 欧美美女一区二区在线观看| 国产一区二区三区| 亚洲制服丝袜av|