Home
Nor-s
Cancel

[shader] 노트

learn-opengl에 나온 계산들 vs Frag 위치 FragPos = vec3(model * vec4(aPos, 1.0)); Normal 행렬 Normal = mat3(transpose(inverse(model))) * aNormal; fs frag에서 광원까지의 방향 vec3 lightDir = normalize(light.p...

[learn-opengl] Lighting: Light casters

Light casters 여러 유형의 빛들이 존재. 오브젝트에 빛을 캐스트하는 광원을 light caster라고 한다. Directional Light 멀리 있는 광원에서 나오는 광선은 거의 서로 평행하다. 광원이 무한히 멀리 있으면 모두 동일한 방향에서 온다. 이를 d...

[learn-opengl] Lighting: Lighting maps

Lighting maps 실제 사물들은 여러 material로 이루어져 있다. 좀더 정확하게 묘사하도록 오브젝트의 시각적 출력에대해 유연성을 줘보자 Diffuse maps 오브젝트에 대한 각각의 fragment들의 diffuse 컬러를 설정해야한다. 이는 텍스처와 같다. 빛이 존재하...

[learn-opengl] Lighting: Materials

Materials 실제 세계에서 사물들은 빛에 각자 다르게 반응한다. 철로된 사물과 너무로된 사물은 빛에 반응 정도가 다르다. 이에따라 specular 하이라이트도 다르게 반응한다. 이를 시뮬레이션하기위해 필요한게 material 속성 material에 3가지 l...

[learn-opengl] Lighting: Basic Lighting

Basic Lighting 실생활의 조명: 매우 복잡 OpenGL의 조명: 처리되기 쉽고, 실세계의 사물과 비슷하게 보이는 모델을 사용, 실세계에 대한 근사치 기반 Phong Lighting model이 그 중 하나. Phong 모델은 3가지의 요소로 이루어짐 ...

[백준][C++] 11066: 파일 합치기 (dp)

문제 11066: 파일합치기; 풀이 이 문제는 행렬곱 최적화 문제랑 비슷하다. 문제를 분할하여 작은 문제들로 나누고, 그 작은 문제들의 최적해를 합치면서 최적의 결과를 얻는다. 기저조건 기저조건은 파일이 하나있는 경우와, 파일이 두개있는 경우로 생각할 수 있다. 분할정복 분할은 간단하다. 왼쪽에서부터 분할하면된다. ...

[learn-opengl] Lighting: Colors

Colors 색상이 무엇인가?에 대해 설명한다. 색상 => 무엇인지를 광범위하게 논의 디지털 세계 => 실제 색상을 디지털 값으로 매핑해야함 색상: RGB 값의 조합으로 벡터로 정의 가능 glm::vec3 coral(1.0f, 0.5f, 0.31f...

[백준][C++] 1300: K번째 수 (bisearch)

문제 1300: K번째 수 풀이 K번째 수를 구하기 위해 배열에 숫자를 저장하고 정렬하려 했지만, 입력의 크기가 크기 때문에 다른 방법으로 문제를 해결해야한다. 문제에서 주어진 이차원 배열은 특정한 규칙이 있으므로, 이를 활용하여 따로 저장하지 않고 문제를 풀 수 있어 보인다. 이차원 배열에서 하...

[백준][C++] 1629: 곱셈 (d-q)

문제 1629: 곱셈 풀이 유명한 분할 정복을 이용한 거듭제곱문제 $a^4 = a^2 * a^2$ $a^3 = a^2 * a$ 위 식을 토대로 코드를 짜면된다. 코드 #include <iostream> using namespace std; long long fast(int...

[백준][C++] 12869: 뮤탈리스크 (dp)

문제 뮤탈리스크 풀이 처음엔 그리디 문제인줄 알았다. 하지만 가장 체력이 큰 scv한테 공격력이 높은 공격만 하면 문제가 해결되는 문제가 아니였다. 첫 번째 예제가 그리디 문제가 아님을 알려주고 있었다. 동적 계획법 이 문제는 모든 경우의 수를 구하여 문제를 해결할 수 있다. ...