본문 바로가기

잠시 정리/수업 정리

22.06.29 수업정리 ( 구 + 색공간 + 스마트포인터)

728x90

https://3dmpengines.tistory.com/747

 

Directx D3DXCreateSphere 구현

http://ergate.tistory.com/117 Directx 에서 지원하는 Sphere함수를 구현해보았습니다. Slices는 나누어질 삼각형의 갯수 이며 Stack은 사진에서 Y축으로 나누어질 갯수 입니다. Radius는 반지름의 값이며 Slice..

3dmpengines.tistory.com

 

색(빛)의 크기 : 루트3

(0,0,0) 에서 (1,1,1)로 가는 벡터들이 무채색

나머지 채색

 

xyz = -1 ~ 1

-> +1 -> /2

-> 0~1

 

 

r+g+b  값이 가장크면 가장 밝은 색

v x k = 빛의 밝기 조절 가능

 

 

 

Mesh 가 다 같은모양이면 굳이 다른 메모리를 쓸 필요가 있음?

Mesh* mesh = new Mesh();

Mesh* mesh = new Mesh();
mesh->LoadFile("1.Sphere.mesh");
Sun.mesh = mesh;

훨씬 빨라졌다. 그러면 이제 다 그렸을 때 , 메쉬 메모리 해제를 해주면 되겠네.

 

GC (가비지 컬렉션)

쓰지 않는 메모리를 자동으로 해제하는 기법. 그러나 C, C++에선 지원하지 않는다. 수동관리하니까. 그게 의미있으니까

스마트 포인터

GC를 못써서 대신 사용하는 스마트 포인터. 

개념을 잘모르고 쓰면 영영 지워지지 않아서 손해다.

1. unique_ptr

하나의 스마트포인터만 소유권.

2. shared_ptr

특정객체를 참조하는 스마트포인터가 총 몇개인지. use_count : 몇명이서 사용하고 있는지

3. weak_ptr

 

shared_ptr<Mesh> mesh;

간단하게 선언할 수 있다.

기존 포인터처럼 사용할 수 있음. 단,

Sun.mesh = mesh;

같이 대입은 되지 않음.

shared_ptr<Mesh> mesh = make_shared<Mesh>();
Sun.mesh.reset();
mesh.reset(); //할당해제

 

728x90

'잠시 정리 > 수업 정리' 카테고리의 다른 글

22. 07. 01 수업정리 ( Actor + ImGui )  (0) 2022.07.01
22. 06. 30 수업정리( 리소스 매니져 + IMGUI)  (0) 2022.06.30
22-06-27 수업정리  (0) 2022.06.27
22. 06. 24 수업정리  (0) 2022.06.24
22. 06. 23 수업정리  (0) 2022.06.23