🕹️자체엔진33

DirectX12. 텍스쳐실습끝 혼합(blending)들어갑니다.....! 제목그대로 텍스쳐실습을 모두 맞추었습니다. 저기 네모난상자모형에 사용한 텍스쳐는 뭘까요?? 큭큭 몇주일~개월뒤에.. 공개합니다 ... (소소한 미래에 올릴 포스팅글의 떡밥) 힌트는 "원신 ㅋㄹㅌ ㅁㄷㅂㅇ에 사용할 텍스쳐" 입니다.. 드디어 텍스쳐단원을 탈출합니다...! 흠... 아직은 srv가 익숙치는 않아요. 하지만 dx12에서 어떤시스템으로 돌아가는지는 대충 알겠네요. 요약해서 여러개의 텍스쳐를 다루려면: 서술자힙 1개 만들고->서술테이블갯수를 렌더링할 텍스쳐갯수만큼 만들고, 셰이더에는 그냥 서술자힙의 갯수만큼만 Texture2D객체 올리면됨. 굿! 그리고, SamplerState객체는 Texture2D객체랑 아예 다르게관리함. 레지스터도 다르기때문에 그냥 별개의 메모리영역이라고 생각하면됨. 조만간 .. 2022. 3. 19.
DirectX11 공부 7주차. 멀티 텍스쳐링과 텍스쳐 배열 안녕하세요!! 오랜만에 dx11 공부가 돌아왔습니다. 저는 이제 dx12에서 텍스쳐를 거의끝마치고 혼합단계에 들어갑니다... 확실히 dx12로 텍스쳐 엄청 지지고볶고 dx11와서 공부하는데에... 와.. 이해가 너무 잘되더라구요. 예전같았으면은 그냥 그대로 따라했을텐데, 이번에는 대충 강좌글 흝어보고, 뚝딱뚝딱 알아서 만들어보았습니다. (사실 dx12만 보다가 dx11로 오랜만에 와서그런지 dx11초기화공정을 까먹어서 한번더 보고시작함. ㅎㅎ..) 일단 이번에 공부한 내용은 멀티텍스쳐링입니다. 여러개의 텍스쳐배열을 통해서 픽셀셰이더에서 텍스쳐배열로 불러온 텍스쳐들을 모두 합치는 기법이예요. 참고 https://www.rastertek.com/ RasterTek - DirectX 10, DirectX 11.. 2022. 3. 18.
빛&카툰셰이딩 실습 끝! 이번에 빛이랑 셰이더공부하면서 책에 끝에있는 연습문제중에서 카툰셰이더 구현문제가 있길래, 풀어보았습니다. 흠.... 처음에 어떻게 구현할까 책의 힌트를 봐가며, 고민해봤죠. [책에 적혀있던힌트] 카툰스타일조명의 한가지 특징은 한 색조에서 갑자기 다른 색조로 넘어간다는것이다. 흠.... 고민하다가, 분산반사율을 조정해야하나? 아니면 빛계산으로 구해진 평행광을 조정해야하나? 고민하다가 하나씩 다 넣어보니까 평행광->점광->점적광을 모두 계산한 빛에다가 카툰셰이딩을 지지고볶고해보았습니다. 실제 구현부분은 밑에 코드로 남겨놓겠습니다. 그냥 C++에서 일일이 DiffuseAlbedo를 조정하는것보다 hlsl셰이더쪽에서 모든 유형의 빛의 계산이 끝난뒤 한번에 계산하는것이 편하고 심플할것같아서 그렇게했습니다. 만들어.. 2022. 3. 10.
Model loader(모델 불러오는 프로그램) 만들었습니다. 기반은 예전에 정육면체만들었던 프로젝트위에다가 만들었습니다. 깃허브에도 올려놨어욧~ https://github.com/orangelie/DirectX12Study/tree/main/4.%202022-03-03%20(Model_Renderer) GitHub - orangelie/DirectX12Study: DirectX 12 Study & Developing GameEngine Application(Platform). DirectX 12 Study & Developing GameEngine Application(Platform). - GitHub - orangelie/DirectX12Study: DirectX 12 Study & Developing GameEngine Application(Platform).. 2022. 3. 3.
rastertek강좌에서 소개하는 프러스텀 컬링 기법이 의미하는 수학적 해석 안녕하세요! 이번에 rastertek강좌에서 소개하는 프러스텀 컬링기법에 사용된 수학적인 해석을 토론해보는 시간을 가져보도록하겠습니다. 저가 프러스텀컬링 기법을 검색해보니 많은 자료가 나왔는데, 그 중에서 이 기법에 관하여 rastertek강좌를 번역및 편집해주시는분이 보이지 않더라구요. 그래서 한번 포스팅올려봅니다. 우선 rastertek강좌를 보다오신분은 해당 링크에서 공부해오셨는지 확인해주시기 바랍니다. http://www.rastertek.com/dx11tut16.html Tutorial 16: Frustum Culling Tutorial 16: Frustum Culling The three dimensional viewing area on the screen where everything is .. 2022. 1. 22.
[3장] 좌표 변경 변환 문제풀이 | DirectX 12를 이용한 3D 게임 프로그래밍 입문 변환 28번 문제 풀이 일단 저는 밑에 문제를 풀어보았습니다. 최소값이되는 점 (1, 1)과 최대값이 되는 점 (3, 3)을 x축에 대하여 2단위 비례시킨 행렬을 구하라. 라는 생각으로 풀었죠. 풀이 우선 사각형의 중점을 원점으로 설정하기 위해, 사각형의 중점을 구해줍니다. \( 사각형의 중점의 좌표 ={(3, 3) / (1, 1)} / 2 = (2, 2) \) 이제 좌표 변경 변환을 수행합니다. 우선 저는 최소점좌표를 \( (min_{x}, min_{y}) \) 로 두겠습니다. 그리고 최대점좌표는 \( (max_{x}, max_{y}) \) 로 두겠습니다. 그리고 중점의 좌표를 \( (side_{x}, side_{y}) \) 로 두겠습니다. 그러면,, 이를 통해 좌표 변경 변환을 수행하면? 좌표 변경 .. 2021. 12. 16.
게임개발 공부 (1) 행렬 | Direct 12를 이용한 3D 게임 프로그래밍 입문 게임개발 공부 (1) 행렬 | Direct 12를 이용한 3D 게임 프로그래밍 입문 이번에 책을 읽어보면서 행렬에 대하여 공부해보았습니다. 흠.. 사실 DirectX 11 공부할때에도 행렬은 진짜 기본중의 기본이었지만, 사용된 행렬함수의 내부공식이 정확히 어떻게 되어있는지 몰랐지만, 이번에 그 궁금증이 풀렸습니다. 우선 궁금증이 풀린 메소드가 D3D11MatrixTranspose() 2021. 12. 11.
그람-슈미트(Gram-Schmidt) 공정을 이용한 정규 직교화 안녕하세요!! 게임개발 입문서에서 그람-슈미트 공정과 관련해서 연습문제가 있길래, 직접 풀어보았습니다. 우선 답지가 어디있는지 안보여서 그냥 감으로 (코딩)풀었습니다. 답이 맞는지 확인하기 위해서 그람-슈미트 계산기를 열고 값을 비교해보니, 대충 실수점오차제외하면 일치하는것같네요. 그람-슈미트 공정은 벡터 집합이 주어졌을때 직교기저를 구하는 과정입니다. 그러면은 실제 어떤식으로 구해지는지 알아보겠습니다. 그람-슈미트(Gram-Schmidt) 정규 직교화 그람-슈미트 정규 직교화에서는 크게 3번의 과정으로 이루어집니다. 1. w의 첫번째원소는 v의 첫번째원소이다. 2. 식은 다음과 같다. 3. w를 일반화한다. 와우!! 간단합니다. 혹시 proj 2021. 12. 10.
간단하게 DirectX 최신 버전 설치 & 개발 환경 세팅 간단하게 DirectX 최신 버전 설치 & 사용해보기 안녕하세요! 이번에는 DirectX의 최신버전을 설치하고 비주얼스튜디오에서 환경을 맞추어보도록 하겠습니다. 이 강좌는 간단하게 나중에 여러가지의 포스팅을 위해서 게시된 글입니다. 다운로드 DirectX의 최신버전은 Microsoft의 정식사이트에서 다운로드가능합니다. https://www.microsoft.com/ko-kr/download/details.aspx?id=35 Download DirectX 최종 사용자 런타임 웹 설치 관리자 from Official Microsoft Download Center 중요! 아래에서 언어를 선택하면 전체 페이지 내용이 해당 언어로 신속하게 변경됩니다. 네덜란드어독일어러시아어스웨덴어스페인어영어이탈리아어일본어중국어.. 2021. 11. 28.
DirectX11 공부 6주차. 폰트 엔진, DirectInput 안녕하세요!! 이번에는 2D모델 렌더링을 이용한 화면에 글자 띄우기와 DirectInput을 이용하여 초고속으로 마우스와 키보드의 입력값을 받아오는 연습을 했습니다. 이번에 글자띄우기를 해보면서 배운점이 몇가지있습니다. 대표적으로 글자를 띄우는 원리인데, 내부적으로 투명색의 사각형모양의 정점버퍼를 띄운후, 그 위에 폰트 텍스쳐를 띄우는것으로 글자를 띄울 수 있었습니다. 나중에 Frustum Culling 부분까지 진도를 나가면 개인프로젝트로 자체게임엔진을 하나 간단하게 포트폴리오형식으로 만들어서 티스토리블로그랑 깃허브에 공유해보도록 하겠습니다! 참고 https://www.rastertek.com/ RasterTek - DirectX 10, DirectX 11, and DirectX 12 Tutorials.. 2021. 11. 27.
DirectX11 공부 5주차. 2D모델 렌더링 안녕하세요!! 이번에도 공부를 맞치고왔습니다~ 휴우~!! 이번에는 유니티, 언리얼, 코코스와 같은 상용엔진에서도 많이 사용한다는 스프라이트기능, 이펙트, UI와 같은 2D모델 렌더링에 관하여 공부하고왔습니다! 이번에 배운 내용을 요약하자면 깊이스텐실버퍼를 켜고끄는 방법, 동적으로 정점버퍼를 바꾸는 방법!! 이라고하면 좋겠네요~!! 참고 https://www.rastertek.com/ RasterTek - DirectX 10, DirectX 11, and DirectX 12 Tutorials The purpose of this website is to provide tutorials for graphics programming using DirectX 10, DirectX 11, and DirectX 12.. 2021. 11. 20.
DirectX11 공부 4주차. 정반사광, 인스턴싱 안녕하세요오오옷!! ㅠㅠㅠㅠ rastertek directx11 강좌사이트 끄적끄적해보다가... (빠밤..!!) 저가 매우 궁금해하던 인스턴스 구현에 관한 내용도 있더라구요!! ㅠㅠ 인스턴스 구현부분은 사실 rastertek에서 37번째에서 다뤄질 내용이였지만, 궁금증을 못참고 바로 임시로 건너뛰어버렸습니다.. "어떻게 하면 여러개의 도형을 그릴까?" 라는 궁금증이 사실 예전부터 있었습니다.. 흑... 그걸 달성!! 해서 기분좋네요. 물론 rastertek강의 그대로 따라하는건 저의 성미에 맞지않기때문에 또 저 맘대로 수정했습니다 ㅋㅋㅋ rastertek강의에서는 (5. 텍스쳐)에 관한 소스코드에 이어서 진행했지만, 저는 (10. 정반사광)로 이어서 진행했습니다. 왜냐하면 (5. 텍스쳐) 이부분은 아직3.. 2021. 11. 17.
DirectX11 공부 3주차. 텍스쳐, 조명, 3d모델 렌더링, 주변광 안녕하세요!! 1주일만에 포스팅입니다 이번에는 좀 뒹굴거리다가 폭풍공부를 하고왔습니다. 이번에는 배운내용이 좀 많은데, 그 이유는 내용이 다 연계되어있어서입니다. 조명관련을 배웠더니 주변광은 그냥 hlsl셰이더만 수정하면 되었고, 3D 모델 렌더링또한 기존에 구현해두었던 버텍스버퍼만 적절하게 수정하면 되었습니다. 크으으... 3D모델렌더링.. 너무 감미롭게 배웠습니다. 다음내용중에서 fps표시, 물의 빛반사 부분도봤는데 빨리 배우고싶네요.. 그리고, 오늘은!! 실습한 게임엔진의 첨부파일이 첨부되어있습니다! 글을 다 읽어주시면은 실제로 저가 구현한 게임엔진을 맛보실 수 있습니다! 깃허브말고 구글드라이브로 올리겠습니다. 참고 https://www.rastertek.com/ RasterTek - DirectX.. 2021. 11. 16.
1. [C/C++] 콘솔 텍스트 mmorpg 게임 강좌 샘플 제작 현황 WhiteSwordOnlineRPG 두번째 현황 🆆🅷🅸🆃🅴 🆂🆆🅾🆁🅳 오늘 "ch2. 메인메뉴와 네트워크" 부분까지 샘플제작 완료했습니다. 밑에는 현재 게임제작강좌 예상커리큘럼의 일부입니다. (본 내용은 '예상'커리큘럼이며, 아직 확정된것이 아닙니다. 추후에 변경될 가능성이 있습니다.) ch1. 프레임워크 설계 (*완성) ch2. 메인메뉴와 네트워크 (*완성) ch3. 게임정보와 데이터베이스 ch4. 회원정보와 로그인 ch5. 게임(1) - 맵, 이동 ch6. 게임(2) - 클라이언트 사용자 인터페이스 ch7. 게임(3) - 채팅, npc ch8. 게임(4) - 아이템, 스킬, 몬스터, 자원 ch9. 게임(5) - 배틀 시스템 ch10. 서버기록및 관리기능, 디자인 현재 진행률 🆆🅷🅸🆃🅴 🆂🆆🅾🆁🅳 방금 "ch2. 메인메뉴와 네트워크" 부.. 2021. 11. 13.
DirectX11 공부 2주차. Directx초기화와 셰이더, 버퍼, HLSL 안녕하세요!! 이번에는 1주일동안 Directx11 더 공부하고왔습니다. Directx12는 Directx11기초부분 끝내고 시작해야될것같습니다. 자세히 봤는데 11과는 매우 다르더군요... 명령 목록이라느니 작업 표시줄이라느니.. 그래도 11보다는 더 효율적이라니까 반드시 12도 배워야겠습니다! 참고 참고한 사이트 RasterTek - DirectX 10, DirectX 11, and DirectX 12 Tutorials The purpose of this website is to provide tutorials for graphics programming using DirectX 10, DirectX 11, and DirectX 12. The DirectX tutorials are written us.. 2021. 11. 8.