2021/1115

동적 스크립트 컴파일 (Dynamically Embedded lua script in exe) | 루아(Lua) 스크립트 엔진 🎄 동적 스크립트 컴파일 (Dynamically Embedded lua script in exe) 안녕하세요!! 엄청난 내용이 왔습니다. 이것을 응용하면 exe를 합칠수도있고, 여러가지로 응용할 수 도있습니다. 이번 포스팅에서는 우리가 C++에서 Lua스크립트를 컴파일할때, 동적으로 C++에 임베딩된 루아스크립트 리소스의 내용을 변환시켜서 컴파일해보겠습니다. 그냥 쉽게 말해서 exe를 변환시켜서 내부적으로 포함되어있는 lua스크립트의 내용을 이미 컴파일되어있는 상태에서 동적으로 수정할 수있다는 소리입니다! 그럼 바로 시작하겠습니다! 🎄 솔루션및 환경세팅 우선 C/C++ 버전은 다음과 같이 맞추었으며, 보시다시피 솔루션은 2개입니다. "LuaScriptEngine1"은 실제 저희가 실행할 동적 lua실행프.. 2021. 11. 30.
간단하게 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.
[C++/MSVC] 디버깅(Debugging) 강좌 (메모리 누수 방지) 해당강좌는 미완성강좌입니다. 완성될때까지 북마크하고 기다려주세요! 디버깅(Debugging) 강좌 안녕하세요! 이번 포스팅에서는 MSVC컴파일러에서 지원하는 디버깅 기능을 적극적으로 이용하여 저희가 직접 메모리에서 생겨나는 누수들을 탐지하고 디버그하는 내용을 알려드리겠습니다! 우선 시작하기 앞서서 목차를 확인하고 가시죠! 목차 1-1. Visual Studio 2022 Current (v143) 디버그 하는방법 1-2. 메모리 누수가 위험한 이유 2-1. _CrtDumpMemoryLeaks : 메모리누수를 방지하는 간단한 방법 2-2. _CrtSetReportMode : 메모리누수 보고를 설정하는 방법 2-3. 메모리누수를 탐지하고 통지하는 기능 만들기 2-4. MyCheckMemoryLeaks 클래스 .. 2021. 11. 25.
[Rust] Raw-Pointer 직접 관리하는 방법 안녕하세요! 이번시간에는 Rust에서 C/C++처럼 Raw-Pointer를 프로그래머가 직접 관리하는 방법에 관하여 포스팅하겠습니다. Rust는 C/C++과는 다르게 프로그래머가 따로 메모리를 관리하지 않아도 알아서 프로그램이 적당히 메모리를 할당하고 할당해제 해줍니다. 사실 Rust는 시작한지 몇달됬습니다. Rust관련 포스팅은 귀찮아서 올리지 않고있습니다. 잡담은됬고 바로 시작하겠습니다. 🥔 Raw-Pointer 직접 관리하는 방법 우선 Rust에서 프로그래머가 Rust컴파일러의 영향을 받지않고 온전히 메모리를 관리하고 싶다면 unsafe 라는 키워드를 사용해야 합니다. 위에서도 설명했다시피 Rust는 이와 같은 예외적인 상황이 아니라면 대부분의 경우 프로그램이 알아서 메모리를 관리해줍니다. 다음은 .. 2021. 11. 24.
A* 길찾기 알고리즘 (쉽고 친절한 설명) 🔥 소개 안녕하세요~! 이번에는 길찾기알고리즘하면 제일 먼저 떠올리는 A* 알고리즘에 관하여 이론과 실제 프로그래밍 코드로 실습을 진행하겠습니다. 사실 아시는분은 아시겠지만, 예전에 A* 알고리즘에 관하여 포스팅을 올려놨었는데요.. 일단 그 글은 현재 지웠습니다. 설명이 아예없기때문에.. 지금 봐보니까 진짜 불친절하더라구요...ㅠㅠ 이번 포스팅에서는 매우 자세하고 친절하게 알려드리고 있습니다! 🔥 참고 기본적인 알고리즘의 원리는 GeeksforGeeks 를 참고했습니다. 🔥 A* 알고리즘 필수 단어 A* 알고리즘: 출발 꼭짓점에서부터 목표 꼭짓점까지 가는 최단 경로를 찾아내는(다시 말해 주어진 목표 꼭짓점까지 가는 최단 경로임을 판단할 수 있는 테스트를 통과하는) 휴리스틱기반의 그래프 탐색 알고리즘. 열.. 2021. 11. 21.
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.
0. [C/C++] 콘솔 텍스트 mmorpg 게임 강좌 샘플 제작 현황 WhiteSwordOnlineRPG 첫번째 현황 🆆🅷🅸🆃🅴 🆂🆆🅾🆁🅳 안녕하세요! 현재 2021년도의 겨울기념+블로그 방문자분들에게 감사함을 드리기 위해서, 이번에 기획하게 된 프로젝트입니다. 정식명칭은 WhiteSword Online RPG이며, 콘솔 텍스트기반의 온라인 mmorpg게임입니다. 공지사항을 올려드렸습니다. 못보신분들은 아래링크로 짤막하게 읽어주시면 좋겠습니다. https://mawile.tistory.com/notice/229 [공지사항] 2022 겨울에 진행할 프로그래밍 프로젝트 공지 2022 겨울에 진행할 프로그래밍 프로젝트 공지 이제 2021년의 끝이 다가오고있습니다! 아직까지는 가을날씨이긴하지만 이미 겨울이기도 하고, 12월달~2, 3월달 까지의 겨울기간동안 이번에 저희 블 mawile.tistory.com 우선 현.. 2021. 11. 7.
[C/C++] Directx12 강좌 - 02. 윈도우 생성 번역자의 말 이번에 Directx12를 공부하기 위해서 번역강좌 올립니다. Directx12 설치부분은 추후에 업로드하겠습니다. 참고한 원본사이트는 DirectX 12 Braynzar Soft Tutorials - 02. Creating a Window 입니다. 영어번역이 어색한 부분은 댓글로 지적 부탁드립니다. 새 선언 우리는 구조체에 저장되는 HWND라는 윈도우 핸들이 필요합니다. 우리는 글로벌 윈도우 핸들을 만들어서 hwnd라고 부릅시다. 창을 만들려면 WNDCLASSEX 구조체를 작성해야 합니다. 다음 줄은 클래스의 이름인 문자열입니다. 이건 여러분이 원하는 대로 불러도 됩니다. 그 다음에는 전체 화면 모드가 아닐 때 창의 제목 표시줄에 있는 텍스트가 창의 제목입니다. 더보기 New Declara.. 2021. 11. 5.
DirectX11 공부 1주차. 프레임워크 설계및 윈도우 생성 안녕하시죠!! 저는 이번에 본격적으로 게임그래픽공부를 시작하게되었습니다. 사실 이전까지는 유니티에서 삽질만 해댔는데, 본격적으로 빡쎄게 공부하는건 이번이 처음입니다. 이번 공부시리즈는 그냥 저가 무엇을 공부했고, 궁금한점과 새로알게된 점에 대해서만 언급하는 시리즈입니다. 사실 엄청 고민했습니다. directx11로 할지, opengl4로 할지 vulkan으로할지....ㅠㅠ 그 결과 directx11로 하기로 결정했습니다. 현재는 opengl보다 directx11를 더 많이 쓰기도하고, 제공하는 레퍼런스자체가 directx11쪽이 더 많기때문에... opengl도 jnl이랑 연결해서 안드로이드로도 만들 수 있다고해서 "오??" 했는데,, 흠... 그냥 무난하게 directx11로 하겠습니다. 이번에 저희 .. 2021. 11. 3.
[임시중단] C++ UI/그래픽스 | 0. 시작하기및 윈도우생성 (GDI+무료강좌) 해당 포스팅은 임시중단되었습니다. 간단한 이유이지만 더욱 더 높은 퀄리티와 친절한 설명으로 돌아오겠습니다. 감사합니다! 안녕하세요! 원래는 UI/그래픽스시리즈는 파이썬으로만 진행할려고했는데, 국내자료중에서 c++ GDI+ 무료로 되어있는 관련자료가 찾아보니까 거의 안보이기도하고, 이렇게 된김에 유튜브에서도 GDI+강좌 진행중이니까, 블로그에서는 읽기형식의 자료형태로써 같이 사용해보겠습니다. 파이썬 UI/그래픽스는 해당 링크로 들어가시면 됩니다. 파이썬 UI/그래픽스 | 0. 라이브러리 설치및 시작하기 그래픽(Graphic)은 그리스어 낱말 γραφικός (그라피아)에서 온 것으로, 상품화, 정보 제공, 일러스트레이트, 엔터테인먼트를 위한, 벽, 캔버스, 컴퓨터 화면, 종이, 돌과 같은 어떠한 표면에 m.. 2021. 11. 1.