목록전체 글 (194)
센로그

◆ 되추적!? 어떤 수에서 더이상 확장할 수 없거나 유망하지 않다면 전 단계로 돌아가면서, 상태 공간을 만듦. 그 상태공간을 돌아다니면서 해를 찾는 방법. 마디의 유망성: ✓ 전혀 해답이 나올 가능성이 없는 마디는 유망하지 않다(non-promising) ✓ 그렇지 않으면 유망하다(promising). 되추적이란? ✓ 어떤 마디의 유망성을 점검한 후, 유망하지 않다고 판정이 되면 그 마디의 부모마디(parent)로 돌아가서(backtrack) 다음 후손마디에 대한 검색을 계속하게 되는 절차. ✓ 부모마디로 돌아가는 것 → 가지치기(pruning) ✓ 이 과정에서 방문한 마디만으로 구성된 부분트리 → 가지친 상태공간 트리(pruned state space tree) ◆ 트리 방문 순서 ◆ n-queens ..

RTX 3080 기준, 힘들엇던 환경 설정 정보 기록. ◆ 내 환경.ㆍWindows 11ㆍRTX 3080ㆍNVIDIA Driver 531.61ㆍPython 3.7.16ㆍCUDA 11.2ㆍcuDNN 8.9.1ㆍtorch 1.12.0 ◆ 내 사정.더보기내가 클론하려던 프로젝트는 이거엿다. Dual DMPhttps://github.com/astaka-pe/Dual-DMP GitHub - astaka-pe/Dual-DMP: Learning Self-prior for Mesh Denoising using Dual Graph Convolutional Networks [ECCV 2022]Learning Self-prior for Mesh Denoising using Dual Graph Convolutional Net..

◆ Rasterizer Stage Clip Space의 vertex데이터(position, color, uv 등)를 Viewport로 변환하고, 정점 데이터를 기반으로 보간된 프래그먼트(픽셀 데이터)를 생성한다 쉽게 말해서 삼각형 내부를 pixel로 채우는 것! 이 단계 이후로 픽셀 각각에 대해 접근가능해짐 Vertex Shader을 거쳐, vertex들의 final position (clip space position)을 구해서 이제 Rasterizer로 넘어감. Rasterizer는 있어도 되고 없어도 되는데, 어쨌든 미리 만들어진 fixed 형태로 작동한다. Rasterizer 스테이지의 주 역할은, Vertex들을 기준으로, primitive 내부의 Pixel을 채워주는 것이다. 그전에, 아래와 ..

◆ View Frustum 우선 카메라에 관한 이야기를 좀 해보자. 카메라는 무한한 공간을 보지 않는다. Fov(Field of View; 시야)가 한정되어 있기 때문. 따라서 우리는 카메라가 어느정도 볼건지를 결정해야 함. View frustum(잘린 피라미드) 안에 있는 애들만 보도록 한다! ▲directX 기준이므로 -f, -n이 아니라 f, n인듯? 총 4가지 파라미터: fovy(얼마나 넓은 y만큼 볼거냐. 안잘린 피라미드 꼭대기 각도 느낌) aspect(가로/세로 비율. 16:9 이런거) n(원점에서 near plane 까지의 거리) f(원점에서 far plane 까지의 거리) 에 의해서 이 frustum이 결정됨. 이 frustum에 아예 들어오지 않는 애들은 최종 이미지에 영향을 미치지 않기..

◆ Direct3D 12 graphics PipelineGPU 처러 과정에는 특별한 파이프라인 구조가 존재함. 한 스테이지의 output이 다음 스테이지의 input이 됨~앞으로 이 그래픽스 파이프라인을 하나하나 살펴볼 것임 ~ Shader : 프로그래밍 가능함나머지는 하드웨어적으로 고정된 함수 사용진한 초록색 : 무조건 있어야 함연한 초록색 : 선택적으로 빼도 됨 ◆ Input Assembler (IA)GPU가 CPU로부터 Vertex 정보(VBV, IBV)를 받아서 읽고, 규칙에 따라 처리해서 primitive로 만들어줌.이 부분은 우리가 코딩하는 부분이 아니고 하드웨어적 요소로 이미 만들어져 있는 부분임 VBV(Vertex Buffer View) : CPU에서 만들어진 vertex 정보가 쭉 들어가..

◆ Dijkstra 알고리즘하나의 출발 지점으로부터 다른 모든 도착 지점들로 가는 각 최단 경로들을 모두 계산할 때 쓰는 방법F (최종 결과 엣지 집합)를 공집합으로 초기화Y (최단 경로가 확정된 노드들 집합)는 출발 노드로 초기화.(예시에서는 v1에서 출발하는 걸로 가정)V-Y집합(최단 경로가 확정된 노드들을 제외한 노드들)에 속한 노드 중에서, v1(출발 노드)에서 Y에 속한 정점만을 거쳐서(무조건 거쳐야 하는 것은 아님) 최단 경로가 되는 정점 v를 선정한다.그 정점 v를 Y에 추가한다.v에서 Y로 이어지는 엣지('v와 Y를 잇기 위해 Y내에서 최종 경유하는 노드'와 'v노드'간의 엣지)를 F에 추가한다.Y = V가 되면(전체 노드 다 돌음), T = (V, F)가 최단 경로를 나타내는 그래프(ve..