본문 바로가기

전체 글304

쉐이더 심화 2-텍스쳐(~색상 연산 & mix함수) 저번 포스트까지 쿼드에 UV 좌표를 적용하는 방법을 실습했다. 그 후에 Texture를 적용하는 법, 밝기 조정과 같은 기능 적용하는 방법을 정리할 것이다. 4. Texture 사용5. UV 좌표 스크롤링6. 밝기 조정7. 색상 연산8. mix 함수   4. Texture 사용쿼드 위에 원하는 이미지 Texture를 그려본다. 4.1. cpp에서 GPU로 텍스쳐 보내기 4.1.1. 출력할 Texture 객체 생성1) ofImage 객체 선언 후 ofTexture 객체 생성2) openframeworks 추가 기능 비활성(openframeworks는 텍스쳐 유형 기본이 스크린 픽셀 좌표여서 해당 기능을 비활성시켜 표준에 가깝게 설정)ofapp.h//중략ofImage img;void ofApp::setup(.. 2024. 2. 10.
쉐이더 심화 2-텍스쳐(~UV 좌표 적용) 텍스쳐의 필요성과 목적, 기본적인 활용 방법에 대해 공부한다. 0. 목적 1. Texture? 2. Mesh에 적용 과정 3. Quad에 UV좌표 적용 0. 목적 texture 활용에 필요한 기본적인 내용들을 공부할 것이다. ++그러면 왜 texture를 배워야 할까? vertex만으로도 게임 만드는 것이 가능하지만, mesh 연산 증가 및 이미지 교체 과정 비효율적이다. = 대상 표면 자세한 모습 렌더링할때는 vertex 색상이 아닌 Texture(이미지 파일, fragment 단위로 달라짐.) 사용. 1. Texture? 컴퓨터 그래픽에서 사용되는 이미지로, fragment 단위로 달라지는 정보를 제공하는 이미지 파일이다. 2. Mesh에 적용 과정 Texture Mapping -> Texture S.. 2024. 1. 30.
쉐이더 심화 1-openframeworks로 shader 작성 openframeworks로 vertex shader과 fragment shader를 기본 템플릿 형태로 만들어보겠다.   0. openframeworks 설치1. 기본 프로젝트 세팅2. mesh 생성3. vertex shader 생성4. fragment shader 생성5. mesh와 shader 연결(필자는 맥북에 vscode를 사용했다.)   책은 셰이더 코딩 입문(카일 할러데이)를 참고했다.https://github.com/AcornPublishing/practical-shader-develop0. openframeworks 설치0.1. 파일 다운로드https://openframeworks.cc/download/ 해당 사이트에서 자신에게 맞는 OS 버전을 설치한다.0.2. 기본 세팅https://.. 2024. 1. 19.
쉐이더 심화학습0.1-쉐이더 코드 관련 기초 지식 (렌더링파이프는 따로 내용을 정리해놨습니다.) 0. 벡터 0.1. 벡터 = 위치와 크기를 가진 값. 0.2. 벡터 * 벡터 주의사항 (1,2,3) * (4,5,6) = (1*4, 2*5, 3*6) 컴포넌트 단위로 이뤄지며, 컴퓨터 그래픽 분야에서 벡터의 곱이 위 식과 같이 이용된다. 벡터는 코딩 영역에서는 엄격한 정의를 갖지 않는 일련의 숫자일 뿐이며, 다루는 데이터에 따라 위와 같은 연산이 의미를 갖거나 편리할 수 있다. 4-컴포넌트 벡터로 색상을 나타낼 수 있다. (255,0,0) = (1.0, 0.0, 0.0, 1.0) (r, g, b, alpha) (x, y, z, w) - alpha = 불투명한 정도 2024. 1. 17.