728x90 학원28 DirectX 3D Material & Save,Load(Camera) Material 적용 Shaders폴더의 Light폴더에 있는 PixelHeader.hlsl파일에 Matarial Buffer 추가하고 주소 2번으로 지정 다음 16배수를 위해 메모리 끊기 편하게 하기위해 float4로 선언 ambient 변수이름 light추가 수정 빛을 쓰고싶지 않으면 mAbient를 1을 넣어주고 나머지 mDiffuse와 mSpecular를 0으로 꺼버리고 ambientlight를 끄면 빛없이 만들수있음. 다음 NormalMapping으로 이동하여 PS부분 코드를 살짝 수정 다음 diffuse 와 ambient 수정 재질적용 Framework 폴더의 Buffer 폴더에 있는 globalBuffer로 이동하여 ambient를 추가한다음 lightbuffer부분을 복사하여 Matrial.. 2023. 10. 27. DirectX 3D Sphere & NormalMapping Light에 좀더 효과적인 빛구현 구를 대상으로 하는것이 빛구현을 할때 도움이 많이 되기 때문에 구를 먼저 구현을 하였습니다. Object 폴더에 Basic폴더에서 Sphere 헤더파일을 새로 만들어줍니다 GameObject를 상속받고 생성자에는 필요한 정보를 넣어준다 구를 만들것이기 때문에 Radius(반지름)을 넣어준다. 또한 완벽한 구는 구현할수없기에 폴리곤으로 만들어 최대한 매끈하게 만들어준다. 그렇기에 slice와 stack를 넣어준다, slice는 위에서 봤을경우 쪼개는 용도, stack은 옆에서 다음 cpp파일로 넘어와 생성자 매개변수받은 것들을 만들고 mesh를 만들어 생성해준다. 다음 소멸자에서는 mesh를 delete해주고 Render에서는 SetRender로 생성하고 mesh로 dra.. 2023. 10. 27. DirectX 3D Specular 저번 간접광 추가를 이어 직접광 추가 하기 Shaders 폴더의 Light 폴더에 SpecularLight.hlsl(꼭지점) 파일과 VertexHeader.hlsl , PixelHeader.hlsl추가 다음 shader를 로드하기전 옵션을 추가 VertexShader cpp파일에서 D3D_COMPILE_STANDARD_FILE_INCLUDE 추가해야 Header Include가 가능해짐 마찬가지로 Pixelshader cpp에도 동일하게 적용 다음 DiffuseLight에서 복사하여 VertexHeader.hlsl로 옮겨줌 다음 PixelHeader에는 DiffuseLight 있는 map옮겨줌 넣은 다음 다시 diffuseLight로 다시 이동하여 헤더 추가 후 PS 코드 수정후 TerrainScene에.. 2023. 10. 25. DirectX 3D Camera 게임 수학 벡터 개념 Vector는 특정 축에서의 힘과 방향을 뜻함 Scala 방향이 없는 힘만 뜻함 표현 방법으로는 (x, y, z) 사용하고 좌표로도 많이씀 벡터 연산 벡터 A(1, 2) 벡터B(2,1) 그래프로 그렸을 시 벡터의 덧셈 각항 끼리더해줌 A+B = C(3,3) 3,3을 그래프로 표현을 해주면 이런식으로 나오는데 C(3,3)은 A에서 B만큼 갔을 경우의 거리가 나온다 이것을 봤을대 벡터의 덧셈은 교환법칙이 적용이 되는데 이것을 게임에서 사용을 한다면 간단한예시로는 내 위치에서 장애물사이를 갈 방향을 구할때 사용할수있다. 두 벡터를 더하면 그래프를 보면 가운데로 가는방향이 나오게 된다. 이런식으로 응용이 가능하다 특정방향을 구할때 사용이 가능 벡터의 뺄셈 덧셈과 비슷하게 각항끼리 빼주면 된.. 2023. 10. 25. 이전 1 2 3 4 5 6 7 다음 728x90