분류 전체보기103 Directx 3D 최적화 보호되어 있는 글 입니다. 2024. 1. 25. 12/25 보호되어 있는 글 입니다. 2024. 1. 25. 19.Script ReLoad 버그/Manager/빌드 종속성/ConstBf,Transform/namespace , DLL간의 종속성을 줄이기 위한 생각. 0.Script ReLoad 버그 생김 고치기. Script 재 빌드 하기 전에 Dll 해제를 안해줘서 발생한 버그임. 또 Dll 해제 후 재 빌드를 했으면 다시 Load 해 놓도록 했음. Load에 실패하면 경고 메세지 출력. ReLoad 잘 된다. ReLoad 조건 1) application focus가 해제되었다가 다시 focus in 되었을때 Script 변경점을 조사한다. 조건 2) time stemp 가 달라졌다면 변경점이 있다는 것으로 script를 다시 빌드해서 load 한다. 인데 현재는 조건 2가 아니어도 조건1만 충족되면 해당 함수가 호출되도록 했다. 나중에 코드를 더 구현하고도 문제가 없다면 해당 부분은 지울 예정. 콘솔창이 로딩 끝나면 사라지길 바라면 아래 사진에서 pause 부분.. 포트폴리오 만들기 2024. 1. 24. 1/24 오늘 할일 0.Renderer 추가 후 Script ReLoad 버그 생김 고치기. 1.ResourceManager Init에서 Triangle,Rect,Circle Mesh 만들기. 2.ResourceManager 객체 생성 및 여러 dll 에서 쓸 수 있도록 참조 해놓기. 3.Struct - ConstBuffer , Component - Transform https://rokaisback.tistory.com/69 19.Script ReLoad 버그/Manager/빌드 종속성/ConstBf,Transform/namespace , DLL간의 종속성을 줄이기 위한 생각. 0.Script ReLoad 버그 생김 고치기. Script 재 빌드 하기 전에 Dll 해제를 안해줘서 발생한 버그임. 또 Dll 해제.. 오늘 할일 2024. 1. 24. 18.Resource사용한 삼각형 출력/ResourceManager/SPtr,Entity,Resource 위치 변경/RBT operator[] 변경 1.Resource사용한 삼각형 출력 이전 시간에 기존의 CDxDevice Render 함수에 통째로 있던 코드를 Mesh,Shader로 분리하는 작업을 했다. 이번에는 분리된 Mesh,Shader를 이용해서 CDxDevice 에서 출력하도록 테스트 해봤다. 테스트할때 미세하게 틀린 부분이 있었는데,이것때문에 좀 시간을 잡아먹혔다. 아무튼 성공! 2.Resource Manager 만들기. Resource Manager 원래 Engine에 위치 시키려 했는데 Resource 들에 대한 헤더 정보가 필요하기 때문에 문제가 발생한다. 그래서 Renderer 로 위치를 변경하도록 함. FindResource typeid 로 비교할때 hash_code를 쓰는 이유는 객체 자체를 비교하는 것보다 hash_code로.. 포트폴리오 만들기 2024. 1. 23. 1/23 할 일 1.Device init에서 Mesh 생성,Shader 생성. 2.생성한 Mesh와 Shader로 출력. 3.잘 출력됨을 확인하면 ResourceManager 구현. https://rokaisback.tistory.com/67 18.Resource사용한 삼각형 출력/ResourceManager/SPtr,Entity,Resource 위치 변경/RBT operator[] 변경 1.Resource사용한 삼각형 출력 이전 시간에 기존의 CDxDevice Render 함수에 통째로 있던 코드를 Mesh,Shader로 분리하는 작업을 했다. 이번에는 분리된 Mesh,Shader를 이용해서 CDxDevice 에서 출력하도록 테스 rokaisback.tistory.com 다음 할 일 -세부 할일 - 0.Rend.. 오늘 할일 2024. 1. 23. 17.AddTCHAR/Renderer 추상클래스/Entity Class 위치 변경/Resource/SmartPointer구현/Convert WC2C,C2WC 1.AddTCHAR mystring 을 짜서 raii 하게 동작하도록 해도 되지만 간단하게 스마트 포인터로 사용할 수 있도록 했다. 2.Renderer 추상 클래스 만들기. 물론 나는 여러 버전을 구현할건 아니지만 예를들어 dx 의 경우에도 추상클래스를 제공하면 그래픽 카드 회사들이 내용을 구현하는걸로 알고 있다. 이렇게 하는게 모듈성,확장성이 좋고 유지 관리에 용이한 것 같다. (외부에서 호출하는 함수는 어차피 똑같고 내부 수정만 일어난거라 외부 사용자는 모른다.) 예를들어 지금 아래와 같이 되어있는데, 1)InitDevice와 Render는 외부에서 필요하지만 Create 들은 외부에서 알 필요가 없다. 2)CDxDevice 라는 이름이 아니라 Device 라는 이름을 사용하는 추상클래스여야 한다. .. 포트폴리오 만들기 2024. 1. 22. 1/22 1.제대로 구조 짜서 삼각형,사각형 띄우기 - Resource : Mesh,Material,Shader,Texture (Texture는 나중에) - Resource Manager https://rokaisback.tistory.com/65 17.AddTCHAR/Renderer 추상클래스/Entity Class 위치 변경/Resource/SmartPointer구현/Convert WC2C,C2WC 1.AddTCHAR mystring 을 짜서 raii 하게 동작하도록 해도 되지만 간단하게 스마트 포인터로 사용할 수 있도록 했다. 2.Renderer 추상 클래스 만들기. 물론 나는 여러 버전을 구현할건 아니지만 예를들어 dx rokaisback.tistory.com 다음 할 일 1.기다리는 동안 로딩창 띄우기... 오늘 할일 2024. 1. 21. 16.DX Code 짜기/IManager 분리/Flip Model/삼각형 띄우기/FileManager/AddTCHAR 1.Engine이 만들어질 때 HWND가 연결되어 있어야 한다. 기존 코드는 MainManager 생성 시점에 Engine이 만들어지는데 생성 이후에 설정했음. 그래서 첫번째로 MainManager::Create가 Init에 , Destroy가 Release에 위치하는게 깔끔할 것 같아서 기존 InitInctance 함수를 Initialize로 변경 후 내부에서 MainManager::Create 호출. Release 함수 추가 후 내부에서 MainManager::Destroy 호출. 두번째로 MainManager::Create 후 Engine Instance -> SetHWND() 이런식으로 따로 초기화 해줬는데 생성 시점에 설정이 되어야 하기 때문에 MainManager::Initialize(HWND.. 포트폴리오 만들기 2024. 1. 21. 1/21 1. dx 코드 짜기. 2. 삼각,사각 도형 띄우기. https://rokaisback.tistory.com/63 16.DX Code 짜기/IManager 분리/Flip Model/삼각형 띄우기/FileManager/AddTCHAR 1.Engine이 만들어질 때 HWND가 연결되어 있어야 한다. 기존 코드는 MainManager 생성 시점에 Engine이 만들어지는데 생성 이후에 설정했음. 그래서 첫번째로 MainManager::Create가 Init에 , Destroy가 Release에 위 rokaisback.tistory.com 다음 할 일 1.제대로 구조 짜서 삼각형 띄우기 - Resource : Mesh,Material,Shader,Texture (Texture는 나중에) - Resource Ma.. 오늘 할일 2024. 1. 21. 15.DxRenderer Dll 1.Renderer CDevice class 생성 2.DirectxMath는 전체 프로젝트가 공유 - Math 는 공유하고 나머지 Dx 함수들은 공유 안되게 하고 싶었다. 그런데 다운받은 Simplemath.h 는 d3d11 을 로드하지 않았다면 include 되지 못하게 예외처리가 되어있었다. 익숙하지 않은 코드라 해당 부분을 지우면 자꾸 에러가 뜨길래 삽질을 좀 오래했다. (외부용 Vector를 따로 구현해줘야하나 그건 너무 오래걸릴것 같은데 하면서 구현했다가 지우고 다른 방법해보고 계속 삽질..) 근데 나중에 보니까 내가 그거 주석 건다고 #pragma once 도 함께 주석 걸어버려서 생긴 문제였다. 그래서 예외처리 부분 주석걸고 #pragma once 해줌. Math는 stl.lib에서 선언해놨.. 포트폴리오 만들기 2024. 1. 19. 1/19 1.DxRenderer 코드 짜기 https://rokaisback.tistory.com/61 15.DxRenderer Dll 1.Renderer CDevice class 생성 2.DirectxMath는 전체 프로젝트가 공유 - Math 는 공유하고 나머지 Dx 함수들은 공유 안되게 하고 싶었다. 그런데 다운받은 Simplemath.h 는 d3d11 을 로드하지 않았다면 include 되지 rokaisback.tistory.com 다음 할 일 1. dx 코드 짜기 2. 삼각,사각 도형 띄우기 3.기다리는 동안 로딩창 띄우기. 오늘 할일 2024. 1. 19. 이전 1 2 3 4 5 6 7 ··· 9 다음