Main
-
[019] 서술자 힙 관리 클래스Programming/Dev 2025. 5. 1. 16:30
원래는 씬 변경 구현을 하려 했으나..일단 이게 더 급하고 중요한 것 같아서 먼저 하게 됐다.그래픽스 코드 구조를 이쁘게 만든 뒤에 인게임 로직 코드를 작성하는게 목표다. DescriptorManager::DescriptorManager() : m_srvHeap{ D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV, 1024, D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE, 0 }, m_rtvHeap{ D3D12_DESCRIPTOR_HEAP_TYPE_RTV, 512, D3D12_DESCRIPTOR_HEAP_FLAG_NONE, 0 }, m_dsvHeap{ D3D12_DESCRIPTOR_HEAP_TYPE_DSV, 512, D3D12_DESC..
-
[018] 회원가입, 로그인 구현Programming/Dev 2025. 2. 27. 22:05
이전 게시글에서 C++에서 데이터베이스와 통신하는 것에 대해서 작성했다.그래서 이번엔 회원가입과 로그인 하는 과정을 구현해보았다. 회원가입부터 보자면 일단 클라이언트에서 아이디, 비밀번호를 입력받는다.아이디의 경우 오른쪽 버튼을 통해 중복 체크도 하도록 했다. // 클라이언트void OnCheckIDButtonClicked(){ std::wstring id; if (auto textBox{ GetControl(L"ID") }) id = textBox->GetText(); Packet packet{ Protocol::Type::Register }; packet.Encode(Protocol::Register::Check, id); LoginServer::Ge..
-
[017] C++ ODBC를 이용한 데이터베이스 연결Programming/Dev 2024. 11. 17. 19:38
예전 글에서 한번 적었던 적은 있었는데더 사용하기 편하게 구조를 수정하고 여러 문제들도 수정했다. auto result{ Database::Query{ Database::Type::Game } .Statement(L"SELECT * FROM [dbo].[account] WHERE [register_date] > ?") .Param(1, Time{ 2024, 11, 1, 0, 0, 0 }) .Execute()};int64_t id{};std::wstring name(16, L'\0');std::wstring password(16, L'\0');Time registerDate{};result.Bind(1, &id) .Bind(2, &name) .Bind(3, &password..
-
[016] Github Actions 자동 빌드 추가Programming/Dev 2024. 10. 20. 13:01
`Github Actions` 라는 것을 알게되어 내 레포지토리에도 적용해보고자 했다. 레포지토리 상단 탭을 보면 `Actions` 탭이 있는 것을 볼 수 있다.제대로 공부한 것은 아니기에 간단히 설명해보면자신이 원하는 조건일 때 원하는 액션을 수행할 수 있는 기능인 것 같다. name: Buildon: push: branches: - masterjobs: build: name: Build runs-on: windows-latest steps: - name: Check out repository uses: actions/checkout@v4 - name: Setup MSBuild uses: microsoft/setup..
-
[015] 렌더링 구조 변경Programming/Dev 2024. 10. 19. 21:45
렌더링 관련 코드 구조를 완전히 바꿨다.기존에는 클라이언트 프로젝트 안에 `namespace Renderer2D, 3D` 가 있었는데서버나 툴에서도 사용하기 위해 Graphics DLL 프로젝트로 분리했다. void App::InitApp(){ // 모듈 초기화 Graphics::Initialize(hWnd); Resource::Initialize(Graphics::D2D::GetContext()); OnResize.Register(&Graphics::OnResize);#ifdef _IMGUI ImGui::SetCurrentContext(Graphics::ImGui::GetContext()); auto& io{ ImGui::GetIO() }; io.IniFile..