殺虫侍
Toggle main menu visibility
読み取り中…
検索中…
一致する文字列を見つけられません
sphere.h
[詳解]
1
7
#pragma once
8
#include <vector>
9
#include "
vertex.h
"
10
#include "
material.h
"
11
12
class
Renderer
;
13
19
class
Sphere
20
{
21
public
:
28
Sphere
(
float
radius,
int
slice,
int
stack);
29
31
~Sphere
();
32
34
void
DestroyVertexBuffer
();
35
40
void
Draw
(
Renderer
& renderer);
41
46
void
SetPosition
(
const
DirectX::XMFLOAT3& pos) { m_position = pos; }
47
52
void
SetRadius
(
float
r) { m_radius = r; }
53
58
void
Initialize
(
Renderer
& renderer);
59
64
void
ChangeColor
(DirectX::XMFLOAT4 color);
65
66
private
:
68
void
setupTransform(
Renderer
& renderer);
70
void
setupMaterial(
Renderer
& renderer);
72
bool
createMaterialBuffer(
Renderer
& renderer);
74
bool
createVertexBuffer(
Renderer
& renderer);
75
76
std::vector<Vertex> m_vertices;
77
ID3D11Buffer* m_vertexBuffer =
nullptr
;
78
79
float
m_radius;
80
int
m_slice;
81
int
m_stack;
82
83
DirectX::XMFLOAT3 m_position = { 0.f, 0.f, 0.f };
84
MaterialSet m_materialSet;
85
DirectX::XMFLOAT4 m_color{ 1.f, 1.f, 0.f, 1.f };
86
87
Renderer* m_pRenderer =
nullptr
;
88
};
Renderer
Direct3D 11 デバイスとスワップチェーンを管理するレンダラークラス
Definition
renderer.h:21
Sphere::Draw
void Draw(Renderer &renderer)
球体を描画する
Definition
sphere.cpp:65
Sphere::Sphere
Sphere(float radius, int slice, int stack)
球体パラメータを指定するコンストラクタ
Definition
sphere.cpp:4
Sphere::SetPosition
void SetPosition(const DirectX::XMFLOAT3 &pos)
球体の中心座標を設定する
Definition
sphere.h:46
Sphere::Initialize
void Initialize(Renderer &renderer)
頂点バッファと初期マテリアルを生成する
Definition
sphere.cpp:33
Sphere::~Sphere
~Sphere()
デストラクタ
Definition
sphere.cpp:28
Sphere::DestroyVertexBuffer
void DestroyVertexBuffer()
頂点バッファを解放する
Definition
sphere.cpp:60
Sphere::ChangeColor
void ChangeColor(DirectX::XMFLOAT4 color)
球体の表示色を変更する
Definition
sphere.cpp:146
Sphere::SetRadius
void SetRadius(float r)
球体の半径を設定する
Definition
sphere.h:52
material.h
マテリアル用データ構造体の定義
vertex.h
頂点データ構造体の定義
scripts
renderer
sphere.h
構築:
1.17.0