Graphics/OpenGL ES 2.0
-
Blur 알고리즘Graphics/OpenGL ES 2.0 2021. 7. 6. 22:54
Blur is the expensive "post processing". 블러이펙트는 full screen scene이나 특정 사이즈를 blur효과를 주는 것이다. Texture를 렌더링한 장면에서 2d image를 연산하는 것을 “post processing“이라고 부른다. "Post processing"은 꽤 expensive한 연산으로 shader 프로그램에 상당한 optimization을 해야한다. The blur effect is used for blurring the full screen scene or blurring individual objects in that scene. Whenever we perform 2D image operations on a scene that has been..
-
OpenGL 끄적임 - FrameBufferGraphics/OpenGL ES 2.0 2019. 7. 7. 19:20
Graphics Fundamantals Modeling → Rendering Modeling What to Draw modeling is the process of developing a mathematical representation an inanimate or living object. ex) where is the position of the triangle. Rendering How to Draw rendering is about taking the actual box and displaying it realistically or placing it into a realistic setting. ex) where is the light, where is the position of the cam..
-
OpenGL 끄적임 - Image CropGraphics/OpenGL ES 2.0 2019. 5. 17. 18:19
Requirement crop the texture into the rect. How to change the texture vertices. change the projection matrix. change the glsl. Texture vertices It is quick and the easy way. Load Texture -> Mapping Texture. Load Texture -> Mapping Texture with stretched vertecies. Issues But when add the other textures, also change those vertices. The direction of the texture coordinate is different to what I th..
-
OpenGL 끄적임 - 4. Adding color and ShaderGraphics/OpenGL ES 2.0 2018. 6. 17. 20:04
챕터4. 색상과 명암 추가 실제 생활에서 물체는 다양한 색상과 명암을 가지고 있다. 집에서 벽만 보더라도 햇빛이 어디를 비추냐에따라 명암이 달라진다. 우리의 두뇌는 이 명암과 색상 차이를 우리가 뭘 보고 있는지 이해하는데 이용한다. 이는 예술가들이 이용했던 기법이다. 우리는 이전 챕터에서 hockey table를 그리는데 점, 선 만 이용을 했는데 색과 명암도 스크린에 칠해보자. 이는 다른 예제에도 재활용할 수 있는 아주 쉬운 프레임워크이다. 물체에 단일컬러를 설정하기 보다는 여러가지 색상을 조합하는 법도 알아본다. 그라데이션 넣기 (smooth shading) 삼각형에 그라데이션을 넣으려면 어떻게 그려야할까? 하나의 삼각형 안에 수 백만개 삼각형으로 색을 표현한다고 한다면 오버헤드가 심할 것이다. 이 ..
-
OpenGL 끄적임 - 5. Screen Aspect RatioGraphics/OpenGL ES 2.0 2018. 5. 31. 19:09
Adjusting to the screen’s aspect ratio 가로모드일 때, 우리가 그린 table이 찌그러지는건 OpenGL에 좌표를 바로 보내서 그렇다. 원하는 화면은 아래다. 점만 찍어서 되는게 있고 matrix넘겨야되는게 있고 차이가 뭔지? 모든 디바이스와 화면 방향을 고려할 수는 없다.-선형대수와 matrix, vector를 배워본다.-matrix로 투영을 해본다. screen크기가 단말마다 다른데 테이블이 screen에 어떻게 투영을 결정하는지? 정답은 우리가 그릴 물체를 정사각형 안에 들게 그리면 된다. 이를 orthographic projection (직교투영) 이라고 한다. 720x1280의 device에 물체를 그린다고 하자. 720의 작은 범위를 1이라고 하고, 1280의 큰..
-
OpenGL 끄적임 - 2 Vertices, ShadersGraphics/OpenGL ES 2.0 2018. 4. 8. 23:15
Vertex 작성방법OpenGL의 도형들은 다 vertex로 시작한다.vertex 하나당 (x,y) float[] tableVetices = { 0f, 0f, 0f, 14f, 9f, 14f, 9f, 0f }sequential list 를 사용함. 각각의 점들이 합쳐져서 삼각형이되고 OpenGL은 점을 어떻게 연결하냐에 따라 재밌는 것들을 볼 수 있다. curve를 표현하기 위해서는 더 많은 점들이 필요하다. 삼각형을 그리는 순서1.반시계방향(counter-clockwise order)으로 그린다. (winding order라고도 한다.) 아래 기본적인 OpenGL 구동 방식을 이해해야한다.1. 에뮬레이터 또는 장치에서 Java 코드를 컴파일하고 실행하면 하드웨어에서 직접 실행되지 않습니다. 대신 Dalv..
-
OpenGL 끄적임 - GLSurfaceView, RenderGraphics/OpenGL ES 2.0 2018. 2. 25. 22:07
1.3 OpenGL 초기화 GLSurfaceView는 OpenGL의 초기화도 담당한다. (Rendering을 bg thread에서 일어나게 한다던지) surface라고 불리는 display area에서 rendering이 일어난다. Activity lifecycle에 맞게 resource를 날릴 수 있게 helper 메소드들을 제공한다. GLSurfaceView는 스스로의 window를 만든다. 겹쳐있는 OpenGL surface가 표시될 수 있게 View안에 “hole”을 제공한다. 하지만 window와 분리되어있기 때문에 일반적 View처럼 애니메이션이나 트랜스폼을 제공하지 못한다. TextureView는 분리된 window나 view에 hole을 펀칭할 필요 없이 OpenGL을 rendering할 ..