목록Programing (133)
공부중
유니티 튜토리얼 영상을 보다가 옛날 Monodevelop을 이용할때의 영상인데 MSDN으로 바로 검색 하는것과 같은 단축키가 있길래VisualStudio에서도 이러한 단축키가 있지 않을까 해서 찾아보았다. 튜토리얼 영상에서 보니까 저렇게 단축키로 바로 찾고 있더라... 그래서 열심히 찾아본 결과 Visual Studio Tools for Unity이 설치 되어있다면 아래와 같이 단축키가 설정되어 있다는것을 알았다. Ctrl + Alt + M 을 누르고 Ctrl + H를 누르면 된다. 뭔가 F1보다는 조잡한 단축키이긴 하지만 변경이 가능하니 사용자가 편한것으로 바꾸면 될것이다. 이렇게 블럭을 한뒤 또는 커서를 이동한 뒤에 Ctrl + Alt + M 을 누른뒤에 Ctrl + H 를 누르면 이렇게 웹뷰에서 U..
처음 VisualStudio를 사용하면서 부터 사용했었던 빌드 단축키 F7이 먹통이 되는 상태가 발생하였다. 발생하는 상황은 VisualStudio를 통해서 C#을 사용하면서 발생하는 문제다. 키 매핑이 빠진건가 해서 살펴보면 그것도 아니다. 메뉴에서 누르면 잘 되는것을 보니 빌드가 안되는 버그는 아니고 단축키가 안먹는것 같다.그리고 단축키에 F7이라고 적혀있지 않은가 -_-.... 열심히 구글링을 해보니 https://developercommunity.visualstudio.com/content/problem/247977/f7-does-not-build-anymore.html 위의 링크를 통해서 해결 방법을 찾았다! VisualStudio 15.7버전 이후에서 발생하는 문제라는것이 발견되었다.이 이후 ..
이전글에서도 썻었던 내용인데... 2018/04/11 - [Programing/DirectX] - [DirectX12]Hello Wolrd Sample - D3D12HelloWindow - 5 저 글에서 중간에 swap chain에 대해서 설명한 내용이 있는데 저 내용 그대로다...(글의 내용이 많이 겹칠것이다) 더블 버퍼링 미적용(시작시간 6초) 더블 버퍼링 적용(시작시간 8초) 결론부터 말하자면 위의 영상처럼 화면을 그리는데 깜박이는 현상을 없애기 위해서 더블버퍼링이라는것을 필요로 하게됬다. 화면의 하나의 프레임 전체를 화면에 바로 출력하는것이 아닌 버퍼를 두어서 버퍼에 그림을 그린다 (back buffer) 이 버퍼에 그린 그림을 다 그렸으면 화면에 출력하고 다음 버퍼에 다음에 출력할 프레임 전체를..
// Close the command list and execute it to begin the initial GPU setup. ThrowIfFailed(m_commandList->Close()); ID3D12CommandList* ppCommandLists[] = { m_commandList.Get() }; m_commandQueue->ExecuteCommandLists(_countof(ppCommandLists), ppCommandLists); // Create synchronization objects and wait until assets have been uploaded to the GPU. { ThrowIfFailed(m_device->CreateFence(0, D3D12_FENCE_FLAG..
// Note: ComPtr은 CPU 개체이지만 이 리소스는 이를 참조하는 명령 목록이 // GPU에서 실행을 마칠 때까지 범위에 있어야합니다. // 자원이 조기에 파괴되지 않도록 // 이 방법의 끝에서 GPU를 플러시합니다. ComPtr textureUploadHeap; // Create the texture. { // Describe and create a Texture2D. D3D12_RESOURCE_DESC textureDesc = {}; textureDesc.MipLevels = 1; textureDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM; textureDesc.Width = TextureWidth; textureDesc.Height = TextureHeight; ..
// Create the command list. ThrowIfFailed(m_device->CreateCommandList(0, D3D12_COMMAND_LIST_TYPE_DIRECT, m_commandAllocator.Get(), m_pipelineState.Get(), IID_PPV_ARGS(&m_commandList))); // Create the vertex buffer. { // Define the geometry for a triangle. Vertex triangleVertices[] = { { { 0.0f, 0.25f * m_aspectRatio, 0.0f }, { 0.5f, 0.0f } }, { { 0.25f, -0.25f * m_aspectRatio, 0.0f }, { 1.0f, 1...
// Create the pipeline state, which includes compiling and loading shaders. { ComPtr vertexShader; ComPtr pixelShader; #if defined(_DEBUG) // Enable better shader debugging with the graphics debugging tools. UINT compileFlags = D3DCOMPILE_DEBUG | D3DCOMPILE_SKIP_OPTIMIZATION; #else UINT compileFlags = 0; #endif ThrowIfFailed(D3DCompileFromFile(GetAssetFullPath(L"shaders.hlsl").c_str(), nullptr, ..
void D3D12HelloTexture::OnInit() { LoadPipeline(); LoadAssets(); } 저번 글에서는 LoadPipeline에 관해서 적었다. 이번 글에서는 LoadAssets안을 살펴보도록 하자. // Load the sample assets. void D3D12HelloTexture::LoadAssets() { // Create the root signature. { D3D12_FEATURE_DATA_ROOT_SIGNATURE featureData = {}; // This is the highest version the sample supports. //If CheckFeatureSupport succeeds, the HighestVersion returned will..