본문 바로가기

전체 글11

GPU 내부 구조를 뜯어보자!(feat.GLSL) GPU GPU는 CPU와 사뭇 다른 아키텍처 처리 방식을 가지고 있습니다. GLSL, HLSL 등등은 C-like 언어로 불리지만, 작동방식의 차이점을 어느 정도 이해하고 그래픽카드의 핵심적인 부분인 그래픽스 파이프라인을 들여다볼 때 좀 더 수월하게 이해하실 수 있을 겁니다. GPU 제어를 위한 언어의 특징 GPU제어를 위한 언어는 목적부터 어떻게 다른지와 용어에 대해서 잠깐 설명 해보겠습니다. GPU는 근본적으로 그래픽적인 연산을 수행하기 위한 목적을 가지고 있습니다. 다시 말해 그래픽을 다루기 위해 나름(?) 최적화된 연산시스템이 기본이적으로 제공됩니다. 비교해서 설명하자면 CPU는 기본적으로(디폴트로) int 연산에 최적화되어있지요. 반면 GPU는 float연산을 훨씬 더 수월하게 할 수 있도록 제.. 2023. 11. 28.
그래픽스 파이프라인과 쉐이더 개요 어디선가 한 번쯤 보셨을 그래픽스 파이프라인에 대한 포스팅입니다. 하지만 조금 더 스토리 및 각 항목마다 유기적으로 작성하려 노력했습니다. 컴퓨터 그래픽스의 목적 컴퓨터 그래픽스의 목적은 요즘에야 당연히 프로젝트마다 미학적이거나 어떤 요인에 의한 목적이 조금 달라질 수는 있겠지만, 컴퓨터 그래픽스의 원초적(?)인 목적은 말 그대로 현실 세계를 정확하게 시뮬레이션하는 것에 있습니다. 이를 위해선 많은 것들이 필요할 겁니다. 실제 혹은 가상 물체의 모델링을 물론, 물리/광학과 인간의 시각과 카메라 시뮬레이션까지 필요합니다. 심지어 속도 또한 매우 빨라야만 하죠. 즉, 이런 엄청난 연산량에 속도까지 챙기기 위해 말 그대로 괴물 하드웨어(monster hardware)를 사용하게 됩니다. 최근에 와서는 이.. 2023. 11. 13.
오리를 클릭하면 도망갔다가 돌아오는 로직 만들기 (feat. 닷트윈(DoTween)) 나름 실력 키우겠다고,닷트윈 안쓰고 코루틴으로 끙끙거리면서 만들다 보니, 개발속도가 너무 늦어지고, 한 달밖에 안 지났는데 코드가 너무 복잡해서 유지보수가 너무 힘들었습니다. 이에 닷트윈을 활용해서 리팩토링을 해보았습니다.(사실상 코드 갈아엎다시피 해서 새로 기능구현 한 것이나 마찬가지긴 합니다..ㅎㅎ). 구현하고 나니까 하나의 예제로서 포스팅하기도 좋고, DOTween의 여러 기능을 한 번에 보여드릴 수 있을 것 같아 공유합니다. 이번 포스팅으로 닷트윈에서 나름 유용하게 쓸 수 있는 닷트윈의 7가지 API를 구경하실 수 있습니다. 당연하게도 모두 DOTween 다큐멘테이션에 있는 내용을 예제에 맞게 설명한 포스팅이니 혹시나 API설명이 부족하다고 느끼시거나 자세한 사용법, 파라미터를 알고 싶으시면 꼭 .. 2023. 10. 26.
유니티의 노말맵으로 시작하는 몇가지 이야기 목차 - 서론 - 왜 노말맵을 쓰는가? - 노말맵의 역사(?) : 범프맵과 디스플레이스먼트 맵, 그리고 노말맵 - 여담: 애니메이션으로 메쉬와 머터리얼을 컨트롤하면 되지 않나요 서론 게임개발에 대한 개념과 유니티를 공부하면서, 텍스쳐를 배울 땐 특히 의문 투성이었습니다. 왜 노말맵이라는 개념을 쓰는지, 머터리얼을 다루기 위한 요소가 뭐 이리 많은지, 또 쉐이더는 뭐 이리 복잡한지.. 다시 그때로 돌아간다면 기초적인 배경을 알고 공부했더라면 조금 더 뇌리에 박히게 공부할 수 있었지 않나 싶습니다. 그래서 혹시나 제가 가졌던 몇 가지 의문에 대한 이야기를 풀어보려고 합니다. 왜 노말맵을 쓰는가? 이 질문은 정말 말 그대로입니다. 유니티의 머터리얼을 다루시다 보면 노말맵이라는 개념을 보시게 될 텐데, 왜 굳이.. 2023. 10. 14.
반응형