27 {
28
29
30
31
32 SPrefab* jack = SResource::Create<SPrefab>(
"jack.prefab");
33 SPrefab* plane = SResource::Create<SPrefab>(
"plane_circle.prefab");
34 SPrefab* roomPrefab = SResource::Create<SPrefab>(
"room.prefab");
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
65 root->GetTransform()->m_position =
vec3{0, 0, 0};
66
67 auto room = roomPrefab->Clone(
vec3{0, 0.2f, 0}, root);
68 room->GetTransform()->m_scale =
vec3{ 4.f, 4.f, 4.f };
69
70
71 const auto& room_children = room->GetChildren();
72 for (const auto& gameObject : room_children) {
74 if(component == nullptr) continue;
75 component->SetMaterial(SResource::Create<SMaterial>("File:Material/Room.mat"));
77 const auto& mesh = meshComp->GetMeshID();
78
79 }
80
81
83 b->SetParent(root);
85 d->SetParent(root);
86
87
88
89 cube =
new MeshSurface(CH02::teapot_smoothNumVerts, CH02::teapot_smoothVerts, CH02::teapot_smoothNormals);
90 cube->SetUndestroyable(false);
94 buf_tex->SetName("framebuffer_test");
95 buf_tex->SetAbsoluteID("framebuffer_test");
98
100 root->AddChild(testing);
101
103 camera_gm->SetParent(testing);
104 camera_gm->GetTransform()->m_position =
vec3{ 0, -0.3f, 0 };
105 {
107 sc->SetClassName("testScript.script");
108 }
109
111 light_gm->SetParent(testing);
112 light_gm->GetTransform()->m_scale =
vec3{ 0.2f, 0.2f, 0.2f };
113 {
115 sc->SetClassName("testScriptFast.script");
116 }
117
119 a->SetParent(camera_gm);
120
123 ab->GetTransform()->m_scale =
vec3{ 0.0002f, 0.0002f, 0.0002f };
124 ab2->GetTransform()->m_scale =
vec3{ 0.0002f, 0.0002f, 0.0002f };
125 ab2->GetTransform()->m_rotation.Rotate(Quaternion::AngleAxis(
vec3{1, 0, 0}, 3.14f / 2));
126 ab2->GetTransform()->m_rotation.Rotate(Quaternion::AngleAxis(
vec3{0, 1, 0}, 1.f));
127
128
129
130 {
131 const auto& ab_children = ab->GetChildren();
132 for (const auto& gameObject : ab_children) {
134 if (component == nullptr) continue;
135 if(gameObject->GetName() == "Mesh-mesh") {
136 const auto& material = SResource::Create<SMaterial>("File:Material/Jack.mat");
137 material->SetOrderLayer(5500);
138 component->SetMaterial(material);
139 }
140 else {
141 const auto& material = SResource::Create<SMaterial>("File:Material/Label.mat");
142 component->SetMaterial(material);
143 }
144 }
145 }
146 {
147 const auto& ab_children = ab2->GetChildren();
148 for (const auto& gameObject : ab_children) {
150 if (component == nullptr) continue;
151 if(gameObject->GetName() == "Mesh-mesh") {
152 const auto& material = SResource::Create<SMaterial>("File:Material/Jack.mat");
153 material->SetOrderLayer(5500);
154 component->SetMaterial(material);
155 }
156 else {
157 const auto& material = SResource::Create<SMaterial>("File:Material/Label.mat");
158 component->SetMaterial(material);
159 }
160 }
161 }
162
164 c2->SetParent(testing);
165
168
169
170 c2->GetTransform()->m_position =
vec3{ -0.2f, -0.3f, -0.2f };
171 c2->GetTransform()->m_scale =
vec3{ 0.5f, 0.5f, 0.5f };
172 {
174 const auto& material = SResource::Create<SMaterial>("File:Material/SSS_PBR.mat");
175 material->SetOrderLayer(6000);
176 render->SetMaterial(material);
178 const auto& mesh = meshComp->GetMeshID();
179
180 }
181
182
184 c3->SetParent(root);
185 c3->GetTransform()->m_position.y = -0.7f;
186
188 c3->GetComponent<
CustomComponent>()->SetClassName(
"testScript2.script");
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205 auto c4 = SCloneFactory::Clone(c3, c3);
206
207
208 c4->GetTransform()->m_position.y = -0.1f;
209 c4->GetTransform()->m_position.x = -2.f;
210 c4->GetTransform()->m_scale.Set(0.5, 0.5, 0.5);
212
213
215 direction->SetParent(root);
216 direction->SetName("directional");
217 direction->GetTransform()->m_position =
vec3{ 0.f, 1.f, 0.f };
219
220
222 direction->GetComponent<
LightComponent>()->SetLightType(LightComponent::DIRECTIONAL);
225
227 direction->GetComponent<
CustomComponent>()->SetClassName(
"directionalLight.script");
228
229
230
231
232
233
234 d->SetName("light");
236 d->GetTransform()->m_position =
vec3{ -2.8f, -1.5f, 0 };
237 light_gm->AddChild(d);
240 d->GetComponent<
LightComponent>()->SetLightType(LightComponent::POINT);
243
244
245
246
247
248
249
250
251
252
253
254
256
257
258 a->GetTransform()->m_position =
vec3{ 0, 0.2f, 0.8f };
259
260
261
263 a_cam->SetTarget(c2);
264 a_cam->SetBackgroundSkybox();
265 a_cam->SetBackgroundType(CameraBase::SKYBOX);
266
267
268
272 c4->GetComponent<
CameraComponent>()->SetBackgroundType(CameraBase::SKYBOX);
274 SResource::Create<SFrameBuffer>("File:Texture/TestFrameBuffer.framebuffer"));
275
276
277 SSceneLoader::SavePrefab(root, CSE::NativeAssetsPath() + "Scene/test_scene.scene");
278 SAFE_DELETE(generator);
279}
STexture * GenerateTexturebuffer(BufferType type, int channel, int level=0)
void RasterizeFramebuffer()
void GenerateFramebuffer(BufferDimension dimension, int width, int height)
void Destroy() override
자동 삭제가 아닌 특정한 상황에서 삭제될 때 호출되는 함수