프로그래밍 공부

프로그래밍 700

카테고리 설명
  • 이미지 프로세스를 처리 해주는데, 카메라를 작업해주는데 UV처리를 통해, 원하는 Rect를 표시해줄 수 있다. void RenderingTargetDemo::Init() { rtt = new RenderTexture(); Vector3 size = Vector3(100, 100, 1); Vector3 trPos = Vector3(WinMaxWidth - (WinMaxWidth / 4), WinMaxHeight - (WinMaxHeight / 4), 0); Vector3 trSiz = Vector3(WinMaxWidth / 2, WinMaxHeight / 2, 0); float rot = 0; r1 = new Rect(Vector3(200, 200, 0), size, rot); r2 = new Rect(V..

  • DirectX의 Shader을 적용하여, 화면을 지정된 규칙하에 바꾸어주는 작업이다. TextureBlur기법으로, 하나의 픽셀을 기준으로 3X3의 주변픽셀을 함께 뭉개서 이미지를 흐릿하게 해주는 기법이다. 이 작업을 n번 반복하면, 반복한 횟수만큼 더 흐릿하게 상이 나타난다. 위와 같이, 이미지 픽셀을 1- 20 번 반복하였을 때의 픽셀 블러 정도가 달라진다. float4 PS(PixelInput input) : SV_Target { float4 color = _sourceTex.Sample(_samp, (float2) input.uv); // 주변 픽셀들 float2 arr[8] = { float2(-1, +1), float2(+0, +1), float2(+1, +1), float2(-1, +0), ..

  • VertexBuffer에는 IA와 World 버퍼가 존재한다. 크게, IA는 World 행렬을 곱하게 되면, 월드상에 존재하는 위치 회전 크기값이 조정되어 나타나는, 고정좌표값이 이어붙어 나온다. World버퍼는 해당 좌표값 SRT에 곱해지게 되는 월드 좌표를 나타낸다. SRT S(Scale) 객체의 크기를 표현한다. R(Rotation) 객체의 회전값을 표현한다. T(Translation) 객체의 위치값을 표현한다. 위와 같은 방식으로 SRT를 나타내게 된다. 이때, 로케이션을 곱하고 나타내는건 4개의 축을 사용하게 된다. 우리가 사용하는 X,Y,Z을 축으로 나타내는 3차원 축 인데, 왜 4개의 축을 사용하여 계산하게 되는지 알아보자. 여기서 사용하는 임의의 W라는 축을 나타내어 사용하는 좌표계를 동차..

  • DirectX의 Renders부분에 대하여 설명한다. Renders는 그래픽 리소스와 관련된 여러 구성 요소를 포함한다. IA ( ImputAssembler ) 그래픽 파이프라인의 시작 부분에 위치한 단계이다. 그래픽 하드웨어에 그래픽 데이터를 전달하기 전에 데이터를 준비하고 정리하는 역할을 한다. IA는 그래픽 데이터의 형식을 정의하고, 버텍스 데이터를 읽어들여 삼각형으로 조립한다. 이렇게 조립된 프리미티브는 다음 그래픽 파이프라인 단계로 전달되어 처리된다. VertexBuffer VertexBuffer는 DirectX의 그래픽 어플리케이션에 사용되는 정점 데이터를 저장하는 버퍼이다. 정점 데이터는 3D모델의 점, 선, 면 등의 기하학적 정보를 포함한다. 각 정점은 위치, 법선 벡터, 텍스처 좌표 및 ..

  • 서론 DirectX11을 구성하기 위해 Framework 와 UnitTest로 두개의 프로젝트로 나누어 관리한다. Framework는 각 라이브러리를 가져와서 연동시키는 역활을 하고, UnitTest는 연동된 라이브러리를 활용하는 직접적인 알고리즘 부분을 맡게 된다. [ 위와같은 방법으로 사용하지 않고 자유롭게 구축하여도 무방하다. ] DirectX 라이브러리 연동하기 이와같이 두개의 프로젝트를 구성하여, Framework 의 프로젝트를 UnitTest에 연동시키기 위해, VS에서는 다음과 같은 설정을 진행한다. 위 항목에서 포함 디렉터리, 라이브러리 디렉터리 를 수정한다. 상속된 값, 에 해당하는 기록들도 같이 복사 붙여넣기 해준다. 위 경로는, DirectX경로의 Include 를 프로젝트 폴더에 복..

  • 3D 그래픽의 출력 결과를 생성하기 위해 여러 단계를 거처 처리하는 과정이다. CPU와 GPU의 협업으로 동작한다. IA(입력 어셈블러, Input Assembler) VS(정점 쉐이더, Vertex Shader) HS(헐 쉐이더, Hull Shader) TS(분할기, Tessellator) DS(도메인 쉐이더, Domain Shader) GS(지오메트리 쉐이더, Geometry Shader) SO(스트림 출력, Stream Output) RS(래스터 라이저, Resterizer) PS(픽셀 쉐이더, Pixel Shader) OM(출력 병합기, Output Merger) 순으로 동작한다. IA(입력 어셈블러, Input Assembler) 정점 버퍼와 인덱스 버퍼를 사용하여 기본 도형을 생성해준다. 이러..