본문 바로가기

Opengles 3.0 with Android18

Chapter 9.2 Gawsian Blur ( 2 step ) 가우시안 커널은 가우시안 분포(정규 분포)를 기반으로 한 값들의 집합으로, 이미지를 부드럽게(블러링) 만들거나 노이즈를 제거하는 데 사용됩니다. 커널의 크기와 형태는 가우시안 함수의 매개변수에 따라 달라집니다.   Blur를 2 pass로 구현한 내용objLoader + phong shader로 원기둥을 fbo1->  textue1 렌더링 하고horizontal blur 4 샘플링으로 fbo2 -> texture 2 렌더링을 할때, 바인딩은 texture1을 해주어 input texture로 사용한다.그리고 texture2를 바인딩 하고 vertical blur 4 샘플링으로 블러를 적용하는 방식이다. 삽질 했던 부분은 texture2를 바인딩 하고 샘플러로 들어가는 부분을 제대로 설정하지 않아서hori.. 2024. 12. 1.
Chapter 7.5. displace map Initialize//! ObjLoader 클래스 생성자ObjLoader::ObjLoader(Renderer* parent){ // 부모 렌더러 객체가 없는 경우, 함수 종료 if (!parent) return; // 1. 렌더러 관련 객체 설정 RendererHandler = parent; ProgramManagerObj = parent->RendererProgramManager(); TransformObj = parent->RendererTransform(); modelType = ObjFileType; // 2. 깊이 테스트 활성화 glEnable(GL_DEPTH_TEST); // 3. 텍스처 이미지 로드 (컬러 텍스처) cha.. 2024. 11. 18.
Chapter 7.4 FBO FBO를 잘 이해하기 위해서는 아래 챕터 내용을 먼저 보고 오자. 이전 챕터에서 원이 반복적으로 있는 패턴의 모양 ( 폴카닷 )을 렌더링 했었다.https://graphicsimon.tistory.com/114폴카닷을 렌더링 할때 FrameBuffer Object를 사용하여 텍스처로 렌더링 하는 코드 설명한다.objModel->Render() 함수를 수행하면 폴카닷을 1 프레임 렌더링 한다고 이해하자. 텍스처 렌더링도 아래 챕터를 참고한다.https://graphicsimon.tistory.com/115결과 FBO (Framebuffer Object)란?**FBO (Framebuffer Object)**는 OpenGL에서 **오프스크린 렌더링(Offscreen Rendering)**을 위한 기능입니다. .. 2024. 11. 17.
Chapter 3.5 Primitive Restart Primitive Restart는 OpenGL에서 인덱스 기반 드로우 호출에서 하나의 프리미티브를 종료하고 새로운 프리미티브를 시작할 수 있도록 해주는 기능입니다.보통 **GL_TRIANGLE_STRIP**이나 **GL_LINE_STRIP**와 같은 프리미티브를 렌더링할 때, 특정 인덱스 값을 만나면 현재 프리미티브가 종료되고 새로운 프리미티브가 시작됩니다.이렇게 하면 드로우 호출을 줄이고 복잡한 구조를 하나의 인덱스 배열로 관리할 수 있습니다. Primitive Restart의 작동 원리Primitive Restart 활성화: glEnable(GL_PRIMITIVE_RESTART) 또는 glEnable(GL_PRIMITIVE_RESTART_FIXED_INDEX)를 사용하여 활성화합니다.Restart 인.. 2024. 10. 31.