기초적인 셰이딩 구현

This commit is contained in:
2026-03-08 02:20:18 +09:00
parent f914ac3dff
commit 164d23d0a6
2 changed files with 30 additions and 12 deletions

View File

@@ -7,15 +7,22 @@ v 0.5 -0.5 -0.5
v 0.5 0.5 -0.5
v -0.5 0.5 -0.5
f 1 2 3
f 1 3 4
f 8 7 6
f 8 6 5
f 4 3 7
f 4 7 8
f 5 1 4
f 5 4 8
f 5 6 2
f 5 2 1
f 2 6 7
f 2 7 3
vn 0 0 1
vn 0 0 -1
vn 0 1 0
vn 0 -1 0
vn 1 0 0
vn -1 0 0
f 1//1 2//1 3//1
f 1//1 3//1 4//1
f 8//2 7//2 6//2
f 8//2 6//2 5//2
f 4//3 3//3 7//3
f 4//3 7//3 8//3
f 5//4 6//4 2//4
f 5//4 2//4 1//4
f 2//5 6//5 7//5
f 2//5 7//5 3//5
f 5//6 1//6 4//6
f 5//6 4//6 8//6

View File

@@ -96,6 +96,17 @@ bool MainScene::init()
}
}
// Add Lights
// Directional Light: Like sunlight, creating shadows/depth
auto dirLight = DirectionLight::create(Vec3(-1.0f, -1.0f, -0.5f), Color3B::WHITE);
dirLight->setCameraMask((unsigned short)CameraFlag::USER1);
this->addChild(dirLight);
// Ambient Light: To ensure dark sides are still somewhat visible
auto ambLight = AmbientLight::create(Color3B(80, 80, 80));
ambLight->setCameraMask((unsigned short)CameraFlag::USER1);
this->addChild(ambLight);
// Setup Camera for Quarter View (Isometric-like)
_camera3D = Camera::createPerspective(60.0f, visibleSize.width / visibleSize.height, 0.1f, 1000.0f);
_camera3D->setCameraFlag(CameraFlag::USER1);