본문 바로가기

DirectX/[갠플] Maple Story 모작22

22-09-04 1. 오늘 배운점/느낀점 2. 엔진 구현 사항 2-1. 알파 블랜딩 - 캐릭터 텍스쳐가 있는데, 캐릭터 텍스쳐 속 알파값이 0인 부분이 있다면, 또 해당 부분의 z값이 0에 가깝다면? 물체가 배경과 텍스쳐 사이에 그려진다면 해당 텍스쳐가 짤려나갈 수 있음. 알파 커버리지 기법이 필요해짐. (ex. 나뭇잎 랜더링) 2-2. 광원 - 광원의 종류: Directinal Light, Point Light, Spot Light - Ray Tracing: 기존의 광원 효과보다 연산량은 많으나, 현실적인 그래픽 랜더링 가능. - Directional Light: 빛의 방향이 정해져있다라고 생각함. 그러나, 실제와는 다르게, 방향을 결정하기 어렵긴함. 다만, 태양과 같은 아주 먼 곳에서 빛이 온다면 방향을 결정하는게 .. 2022. 9. 4.
22-09-03 1. 오늘 배운점/느낀점 2. 엔진 구현 사항(주말 보충 수업 내용으로 대체) - 전체적인 그래픽스 이론들을 공부해보는 수업. - DirectX란 뭘까. 왜 쓸까. opengl이나 vulcan도 있는데 왜 쓰지? 그리고 DirectX12도 있는데, 왜 11을 쓸까. opengl은 모바일(안드로이드, IOS) 환경, vulcan은 그 후손. DirectX는 PC(윈도우) 환경 전용. - GPU는 코어수가 엄청나게 많음. cpu 대비 처리량이 엄청나게 많음. 따라서 GPU를 사용할 수 있는 API가 필요함. 그것이 DirectX - 12를 하려면, 11을 경험해야함. 11보다 더 로우 레벨의 함수를 제공하는게 12임. 11에서 쓰던 OMSet-() 함수 한줄이 12에선 5~6줄을 써야함. 훨씬 더 많은 일을.. 2022. 9. 3.
22-09-02 1. 오늘 배운점/느낀점 2. 엔진 구현 사항 2-1. 3. 컨텐츠 구현 사항 3-1. 단축키 전용 IMGUI 생성 3-2. 픽셀충돌 텍스쳐 수정 3-3. 물약 드랍 및 인벤토리 저장 - 인벤토리의 STL 컨테이너를 뭘 쓸지 고민함. 결국 플레이어 쪽엔 큐를 만들어서, 주울때마다 큐에 순서대로 푸시 인벤토리 쪽엔 벡터인데, 원소가 pair 형태인 자료형으로 구현. 2022. 9. 2.
22-09-01 1. 오늘 배운점/느낀점 - 길게 슬럼프에 빠졌다가 나옴.(4주..?) 미련하게 공부하지말자.. 쉴 때는 푹 쉬고 코드는 쳐다보는 것도 금지.. 매일매일 코드만 보다보니, 오히려 더 안되고 심해지면 아에 하기가 싫어져서 슬럼프가 길게옴.. 너무 오랫동안 쉬었다.. 2. 엔진 구현 사항 - 방학 3. 컨텐츠 구현 사항 - 메소(동전, 다발, 뭉치) 구현 사실, 셋 다 그냥 돈이고 애니메이션이랑 메소량만 다름. 그래서 메소 클래스 하나만 만듦. 안되면 분리하자.. - 몬스터가 죽을 때, 메소 떨어지기 - 플레이어가 습득시 메소량 증가 - 인벤토리 메소량 갱신 - 인벤토리 드래그 드랍을 통한 위치 이동 메소량은 폰트 랜더러라서, 윈도우 좌표계 기준으로 움직임.. y축 증가량만 부호 반대로해서 해결. 2022. 9. 1.