「MonoGame/クラスライブラリ/VertexBufferクラス」を編集中

ナビゲーションに移動 検索に移動

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。

最新版 編集中の文章
145行目: 145行目:
 
| (GameResourceクラスから継承)
 
| (GameResourceクラスから継承)
 
|}
 
|}
 
== 実装例 ==
 
まずVertexBufferを作ってSetDataする。
 
<source lang="csharp">
 
            // 頂点データを作成する
 
            var vertices = new VertexPositionColor[6];
 
            vertices[0] = new VertexPositionColor(new Vector3(-10, -10, 0), Color.Red);
 
            vertices[1] = new VertexPositionColor(new Vector3(-10, +10, 0), Color.Green);
 
            vertices[2] = new VertexPositionColor(new Vector3(+10, -10, 0), Color.Blue);
 
            vertices[3] = new VertexPositionColor(new Vector3(-10, +10, 0), Color.Green);
 
            vertices[4] = new VertexPositionColor(new Vector3(+10, +10, 0), Color.White);
 
            vertices[5] = new VertexPositionColor(new Vector3(+10, -10, 0), Color.Blue);
 
 
            // 頂点データをGPUに送り込む
 
            _vertexBuffer = new VertexBuffer(_graphics.GraphicsDevice, VertexPositionColor.VertexDeclaration, vertices.Length, BufferUsage.None);
 
            _vertexBuffer.SetData(vertices);
 
</source>
 
 
描画するときは、GraphicsDeviceクラスのSetVertexBufferメソッドで読み出して、DrawPrimitivesメソッドで描画する。
 
別途[[インデックスバッファ]]を使用しているときはDrawPrimitivesメソッドではなくDrawIndexedPrimitivesメソッドを使うこと。
 
<source lang="csharp">
 
            _graphics.GraphicsDevice.SetVertexBuffer(_vertexBuffer);
 
 
            foreach (var pass in _effect.CurrentTechnique.Passes)
 
            {
 
                pass.Apply();
 
                _graphics.GraphicsDevice.DrawPrimitives(PrimitiveType.TriangleList, 0, _vertexBuffer.VertexCount / 3);
 
            }
 
</source>
 
  
 
== 関連項目 ==
 
== 関連項目 ==

MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMonoBook:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)