본문 바로가기
반응형

directx강좌27

[DirectX11] Tutorial 27 - 반사 Tutorial 27 - 반사 원문 : http://www.rastertek.com/dx11tut27.html 이번 튜토리얼에서는 DirectX 11에서 HLSL과 C++를 이용하여 반사효과를 내는 법을 다룹니다. 이 튜토리얼에 사용된 코드는 이전 튜토리얼에서 이어집니다. 여기서는 바닥에 반사된 육면체를 그려볼 것입니다. 반사 효과를 내기 위해서는 반사 뷰 행렬이 필요합니다. 이 행렬은 평면의 반대쪽에서 바라본다는 것을 제외하면 보통 카메라에서 생성한 뷰 행렬과 동일합니다. 육면체가 바닥에 반사되는 것이기 때문에 Y축을 따라 반사 행렬을 만들도록 해야 합니다. 이 튜토리얼에서는 카메라의 Y좌표가 0.0이고 바닥이 -1. 5에 위치해 있습니다. 반사 시점은 바닥과 카메라의 상대 위치의 정반대이기 때문에 Y.. 2017. 12. 21.
[DirectX11] Tutorial 26 - 투명도 Tutorial 26 - 투명도 원문 : http://www.rastertek.com/dx11tut26.html 투명도는 말 그대로 텍스쳐가 입혀진 물체를 뚫고 들여다볼 수 있는 효과입니다. 예를 들기 위해 아래 사진을 사용하겠습니다 이를 반쯤 투명하게 하고 다른 텍스쳐 위에 그려지게 하면 다음과 같은 투명도 효과가 나타납니다 DirectX 11과 HLSL에서의 투명도는 알파 블렌딩으로 구현되어 있습니다. 각 픽셀에는 알파 성분이 있는데 이 값으로 해당 픽셀의 투명도를 알아냅니다. 예를 들어, 어떤 픽셀의 알파값이 0.5라면 반쯤 투명하게 나타날 것입니다. 많은 텍스쳐들은 알파 성분을 갖고 있어서 어떤 부분은 투명하게 하고 또 다른 부분은 불투명하게 할 수 있습니다. 하지만 이 알파값들이 효과를 발휘하기.. 2017. 12. 21.
[DirectX11] Tutorial 25 - 텍스처 이동 Tutorial 25 - 텍스처 이동 원문 : http://www.rastertek.com/dx11tut25.html 텍스쳐 이동(Texture transition)은 다각형 평면에 텍스쳐가 이동하는 듯한 애니메이션 효과를 주는 데 사용됩니다. 이 튜토리얼에서는 DirectX 11과 HLSL을 이용하여 텍스쳐 이동을 구현하는 내용을 다룹니다. 예제 코드는 이전 튜토리얼에서 이어집니다. 텍스쳐링 튜토리얼에서 다루었었듯이 도형에 텍스쳐를 입힐 때 UV 좌표계를 사용합니다. UV 좌표는 각각 X와 Y좌표로 변환되어 X는 도형의 가로로, Y는 세로로 대응하게 됩니다. 텍스쳐 이동을 구현하기 위해서는 픽셀 셰이더에서 텍스쳐의 X와 Y의 값을 바꿀 수 있어야 합니다. 단순히 0과 1 사이의 값을 X또는 Y에 더하거.. 2017. 12. 21.
[DirectX11] Tutorial 24 - 클리핑 평면 Tutorial 24 - 클리핑 평면 원문 : http://www.rastertek.com/dx11tut24.html 이번 튜토리얼에서는 HLSL과 C++을 이용하여 클리핑 평면을 만드는 방법을 다룰 것입니다. 이 튜토리얼의 코드는 이전 코드에서 이어집니다. 클리핑 평면은 일반적으로 3D공간에서 기하학적 구조를 잘라내는 데 사용됩니다. 가장 대표적인 예로 뷰포트를 만들 때 사용하는 near와 far 평면이 있습니다. 뷰포트의 far평면 뒤로 이어지는 것들을 잘라내기 때문에 뒤에 나타나는 거대한 3D 구조를 그리지 않게 해 줍니다. 이전 버전의 DirectX를 사용했던 사람은 DirectX 10/11에서의 클리핑 평면이 다르게 구현되었다는 것을 알 것입니다. 이전에는 평면 오브젝트를 만들고 SetRende.. 2017. 12. 20.
[DirectX11] Tutorial 23 - 안개 Tutorial 23 - 안개 원문 : http://www.rastertek.com/dx11tut23.html 이번 튜토리얼에서는 DirectX 11에서 HLSL과 C++를 이용하여 안개를 만드는 방법을 다룹니다. 코드는 이전 튜토리얼에서 이어집니다. 여기서는 가장 구현이 간편하며 기본적인 종류의 안개 효과를 설명할 것입니다. 첫 단계는 회색이나 그와 비슷한 색으로 안개의 색을 정하는 것입니다. 그리고 나서 그 색으로 백버퍼를 초기화합니다. 그렇게 되면 모든 화면이 안개가 낀 상태인 것처럼 시작하게 되는데, 그 다음에 안개 안에 있게 될 각 모델마다 픽셀 셰이더에서 안개 안의 위치에 따라 안개 색의 농도를 달리하여 더하게 하면 됩니다. 그 농도와 관련된 공식은 여러 가지가 있습니다. 이 튜토리얼에서는 가.. 2017. 12. 19.
[DirectX11] Tutorial 22 - 텍스처 렌더링(RTT) Tutorial 22 - 텍스처 렌더링(RTT) 원문 : http://www.rastertek.com/dx11tut22.html 이 튜토리얼에서는 DirectX 11에서 어떻게 텍스쳐에 렌더링을 할 수 있는지를 다룰 것입니다. 튜토리얼의 코드는 모델 렌더링과 비트맵 렌더링 튜토리얼 코드에 기반합니다. 텍스처 렌더링(RTT)은 백버퍼가 아닌 텍스쳐에도 장면을 그릴 수 있게 하는 방법을 제공합니다. 이 텍스쳐를 활용하면 수많은 경우에 유용하게 쓸 수 있는데, 예를 들어 다른 카메라로 본 장면을 텍스쳐에 그려 거울이나 TV화면의 내용으로 쓸 수 있을 것입니다. 또한 텍스쳐에 특별한 셰이더를 적용하여 더 독특한 효과를 줄 수도 있습니다. 이런 무궁무진한 활용방법은 RTT가 왜 DirectX 11에서 가장 강력한.. 2017. 12. 17.
반응형