◤ 2022๋ 10์ 8์ผ ํ ์์ผ
● ์ธ๋ฆฌ์ผ ๋จธํ ๋ฆฌ์ผ ๊ฐ์ ์์
◤ 2022๋ 8์ 25์ผ ๋ชฉ์์ผ
● ์ธ๋ฆฌ์ผ ๊ณต์ ๋ฌ๋ (์จ๋ผ์ธ ๊ฐ์ข ์ฌ์ดํธ)
◤ 2022๋ 8์ 10์ผ ์์์ผ
● C++ ์ปดํ์ผ ์๊ฐ ์ค์ด๋ ํ
◤ 2022๋ 8์ 5์ผ ๊ธ์์ผ
● ๊ทธ๋ํฝ์ค 9์ผ์ฐจ ์์
◤ 2022๋ 8์ 4์ผ ๋ชฉ์์ผ
● ํ์ ์ฐ์ญ? type deduction??
ํ๋ก๊ทธ๋๋จธ๊ฐ ํ์์ ๋ช ์์ ์ผ๋ก ์ง์ ํ์ง ์์ ์ฝ๋ ์์(์ฃผ๋ก ๋ณ์)์ ํ์์ ์ปดํ์ผ๋ฌ๊ฐ ์ด๊ธฐ์น์ ๊ทผ๊ฑฐํด์ ๊ฒฐ์ ํ๋ ๊ฒ์ ํํ type inference๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. inference๋ ํํ ์ถ๋ก ์ด๋ผ๊ณ ๋ฒ์ญํ์ง๋ง, ๋ฌธ๋งฅ์ ๋ฐ๋ผ์๋ ‘์ถ๋ฆฌ’๋ผ๊ณ ๋ ํฉ๋๋ค(์๋ฅผ ๋ค์ด ์ ๋ฒ์ญ์ ์ธ๊ณต์ง๋ฅ: ํ๋์ ์ ๊ทผ๋ฐฉ์์์๋ ์ถ๋ก ์ inference๋ณด๋ค ์ข ๋ ํฌ๊ด์ ์ธ reasoning์๊ฒ ์๋ณดํ๊ณ , inference๋ ‘์ถ๋ฆฌ’๋ก ๋ฒ์ญํ์ต๋๋ค)1.๊ทธ๋ฐ๋ฐ Effective Modern C++์์ ์ ์ ์ค์ฝง ๋ง์ด์ด์ค(SM)๋ ์ผ๊ด๋๊ฒ type deduction, ์ฆ ‘ํ์ ์ฐ์ญ’์ด๋ผ๋ ์ฉ์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ฒ์ญ์ p.27์ด๋ p.45๋ฅผ ๋ณด๋ฉด ์ ์ ์์ง๋ง, SM์ด ์ ์ด์ ํ์ ์ถ๋ก ์ด๋ผ๋ ์ฉ์ด๋ฅผ ๋ชฐ๋๋ ๊ฒ์ ์๋๋๋ค. ํนํ, p.45๋ฅผ ๋ณด๋ฉด type inference๊ฐ ํ๋ก๊ทธ๋๋ฐ ์ธ๊ณ์์ “ํํ ์ฐ์ธ๋ค”๋ ์ ๋ ์๊ณ ์์์ ํ์ธํ ์ ์์ต๋๋ค.
๊ณ์ ๋ณด๊ธฐ => https://occamsrazr.net/tt/311
◤ 2022๋ 7์ 29์ผ ๊ธ์์ผ
● DirectXTex ์ฌ์ฉ
//by JSHong CodeBlock//
#include "Core.h"#include "TextureLoader.h"#include <DirectXTex.h>#include <Utility/STLException.h>
namespace STL{ std::unordered_map<std::wstring, ID3D11ShaderResourceView*> TextureLoader::textureMap;
ID3D11ShaderResourceView* TextureLoader::CreateShaderResourceView(ID3D11Device* device, const std::wstring& filename) { auto search = textureMap.find(filename); if (search != textureMap.end()) { return search->second; }
std::wstring extension = filename.substr(filename.find_last_of(TEXT(".")) + 1); std::transform(extension.begin(), extension.end(), extension.begin(), tolower);
static auto basePath = std::filesystem::current_path().parent_path();
auto finalPath = basePath; finalPath /= "Content\\Textures"; finalPath /= filename;
DirectX::ScratchImage image; HRESULT hr = E_FAIL; if (extension == TEXT("tga") || extension == TEXT("targa")) { hr = DirectX::LoadFromTGAFile( finalPath.c_str(), nullptr, image ); } else { hr = DirectX::LoadFromWICFile( finalPath.c_str(), DirectX::WIC_FLAGS_NONE, nullptr, image ); }
ThrowIfFailed(hr, "Failed to load scratch image.");
ID3D11Texture2D* texture = nullptr; hr = DirectX::CreateTexture( device, image.GetImages(), image.GetImageCount(), image.GetMetadata(), reinterpret_cast<ID3D11Resource**>(&texture) );
ThrowIfFailed(hr, "Failed to create texture.");
D3D11_SHADER_RESOURCE_VIEW_DESC srvDesc; memset(&srvDesc, 0, sizeof(srvDesc)); srvDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D; srvDesc.Texture2D.MipLevels = 1; srvDesc.Format = image.GetMetadata().format;
ID3D11ShaderResourceView* shaderResourceView = nullptr; hr = device->CreateShaderResourceView( texture, &srvDesc, &shaderResourceView );
SafeRelease(texture); ThrowIfFailed(hr, "Failed to shader resource view.");
textureMap.insert({ filename, shaderResourceView });
return shaderResourceView; }
void TextureLoader::Release() { for (auto pair : textureMap) { SafeRelease(pair.second); } }}
◤ 2022๋ 7์ 27์ผ ์์์ผ
● ๊นํ๋ธ ์ฒซ ์ฌ์ฉ
◤ 2022๋ 7์ 25์ผ ์์์ผ
● 7์ 25์ผ ์์์ผ
◤ 2022๋ 7์ 22์ผ ๊ธ์์ผ
● ๋น์ฃผ์ผ ์คํ๋์ค ํ๋ก์ ํธ ๋น๋ ์ค์
//๋น๋ ์ ์ด๋ฒคํธ
not exist "$(OutDir)..\Application" mkdir "$(OutDir)..\Application"
if not exist "$(SolutionDir)Lib\Engine\$(Platform)\$(Configuration)" mkdir "$(SolutionDir)Lib\Engine\$(Platform)\$(Configuration)"
//๋น๋ ํ ์ด๋ฒคํธ
copy "$(OutDir)Engine.dll" "$(Outdir)..\Application\"
copy "$(OutDir)Engine.lib" "$(SolutionDir)Lib\Engine\$(Platform)\$(Configuration)\"
Engine.vcxproj ํ์ผ(xml)์ ์ด์ด์ ๋ฉ๋ชจ์ฅ์์ ์์ ํด์ค๋ ๋๋ค.
● ๋น์ฃผ์ผ ์คํ๋์ค ์์ ์๋ ์๋ฌ ๋ ๋?
Application
- Pixelshder.hlsl ๋ง๋ค๊ณ
- VertexShader.hlsl ๋ง๋ค๊ณ
Engine
- Test.h ๋ง๋ค๊ณ
- Test.cpp ๋ง๋ค๊ณ
!!!!!! VIsual Studio์์ Path ์ค์ ์ ์คํ์ด์ค ์ธ์ ์ค๋ฅ๋๋ค!!! ์ ๊ธธ!!!!!!!!
$(SolutionDir)Engine\;$(SolutionDir)Engine\Source\;$(VC_IncludePath);$(WindowsSDK_IncludePath);
;๋ค์ ํ์นธ ๋๋ฉด ๋ท ๋ถ๋ถ ์ธ์ ๋ชปํจ ใ ใ
# UE ๋ฐ์ดํฐ ์ค๋ฏธ์ค (ํ๋ฌ๊ทธ์ธ)
- ์ธ๋ฆฌ์ผ์ด ๊ธฐ๋ณธ์ ์ผ๋ก FBX๋ง ์ง์ํ์ง๋ง ๋ฐ์ดํฐ์ค๋ฏธ์ค๋ฅผ ์ด์ฉํ์ฌ ๋ค์ํ ํฌ๋งท๋ ์ง์ ๊ฐ๋ฅํ๋ค.
# ๋น์ฅฌ์ผ ์คํ๋์ค 2019, 2022 ๋ค ์ค์น ๋ผ์ ์ฌ์ฉํ๋ค๊ฐ ์ด์ํ๊ฒ ์๊พธ ์ค๋ฅ๊ฐ ๋๊ธธ๋.. ํน์๋ ํด์ 2019๋ฅผ ์ญ์ ํ๋๊น ํด๊ฒฐ์ด ๋์๋ค
- ๊ตฌ๋ฌธ ํด์ ์ค์๊ฐ ์ ์๋๋ ํ์
- ์ด์ํ๊ฒ ์ค์ ์ค๋ฅ๊ฐ ๋์ include, link๊ฐ ์ ์๋ผ์ ์ค๋ฅ ๋๊ธฐ๋ ํจ
- 2019 ์ ๊ฑฐํ๊ณ 2022 ํ๋๋ง ์ฌ์ฉํ๋ ๊น๋ํ๊ฒ ํด๊ฒฐ์ด ๋จ ใ
ใ
ใ
◤ 2022๋ 7์ 21์ผ ๋ชฉ์์ผ
● 7์ 21์ผ DX ์์ 2์ผ์ฐจ
์ด๋์ฐ์ ๊ฒ์ ์ํ ๋ธ๋ก๊ทธ
https://blog.naver.com/destiny9720/221408760120
์์ : 13๋ฒ๊น์ง ์ฝ์ด๋ณด๊ธฐ
#์ํ๊ณต๊ฐ
#๋์ฐจ์ขํ๊ณ
# ์ ์ ๋ฒํผ
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=atom723&logNo=190302142
#๋ฒํ ์ค ์์ด๋, ํฝ์ ์์ด๋











































