본문 바로가기

기타

(31)
[GPU] NVIDIA 드라이버 & CUDA Toolkit 설치하기 / 2023.06.15 GPU를 사용하기 위해서 필요한 것들을 설치해보자! Step 1. NVIDIA 드라이버 설치 1-1. 설치가능한 드라이버 버전 확인 ubuntu-drivers devices 1-2. 드라이버 설치 (470 선택) sudo apt install nvidia-driver-470 1-3. 재부팅 sudo reboot 1-4. 설치한 드라이버 정보 확인 nvidia-smi Step 2. CUDA Toolkit 설치하기 2-1. CUDA Toolkit 선택 https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=runfile_local..
자바 환경변수 설정 (Windows) / 2023.06.02 자바 환경변수 설정을 해보자!!!! 1. 내 PC의 속성 클릭 2. 고급 시스템 설정 클릭 3. 고급 탭에서 환경 변수 클릭 4. 시스템 변수 편집 클릭 5. 변수 이름에 JAVA_HOME입력, 변수 값에 jdk path 입력 후 확인 클릭 6. 시스템 변수에서 변수 Path 더블클릭 7. 새로 만들기 클릭하고 %JAVA_HOME%\bin\ 입력 8. 명령 프롬프트창에서 javac, javac -version 입력 -> 아래와 같이 나오면 설정 완료
OpenGL로 배우는 3차원 컴퓨터 그래픽스 연습문제 11장 / 2022.12.10 1. 3차원 텍스쳐 영상 (텍스쳐 맵)은 존재하지 않는다. False 2. 주변 매핑이 필요하다면 0 매핑 과정에서 물체 중심으로부터 물체면을 향한 직선이 중개면과 만나는 곳의 텍스쳐를 계산해야 한다. False 3. 양방향 선형 보간은 안티 에일리어싱 기법의 일종이다. True 4. 화소를 사각형으로 보고 4 정점의 텍스쳐 좌표를 구했을 때, 축소 관계는 이 좌표가 여러 텍셀을 포함할 때를 말한다. True 5. 밉맵을 사용하면 텍스처 매핑 속도를 향상시킬 수 있을 뿐만 아니라 안티 에일리어싱 효과까지 가할 수 있다. True 6. 현재 화면에 보이는 내용을 그대로 텍스처 메모리에 저장할 수 있다. True 7. glTexGeni(GL_S, GL_TEXTURE, GEN_MODE, GL_OBJECT_LI..
OpenGL로 배우는 3차원 컴퓨터 그래픽스 연습문제 10장 / 2022.12.10 1) 표면 렌더링은 음영을 의미하지만 렌더링은 음영만을 의미하지는 않는다. True 2) 위치성 광원에서 나온 빛은 3차원 공간의 모든 방향으로 퍼져 나간다. True 3) 스포트라이트에서 나온 빛은 모두 나란하다. False 4) 시점 벡터는 시점에서 물체면을 향한 벡터다. False 5) 확산광, 즉 확산 반사광의 세기는 물체면의 법선 벡터 방향에 따라 달라진다. True 6) 확산광의 세기는 시점 벡터의 방향과는 무관하다. True 7) 경면광의 세기는 광원 벡터와 법선 벡터가 이루는 각의 코사인에 비례한다. True 8) 경면 반사에 의한 하이라이트 색은 물체면의 색이다. False 9) 플랫 셰이딩에서 면이 색은 모두 동일하며, 이는 다각형 정점이 아니라 중심점에 조명 모델을 가해 결정된다. T..
OpenGL로 배우는 3차원 컴퓨터 그래픽스 연습문제 9장 / 2022.12.06 1) 뷰 포트 변환 결과 정점의 좌표는 정수로 표시된다. False 2) 래스터 변환 과정에서 깊이를 보간할 때 물체 정점의 z 좌표는 부동 소수 단위로 계산된다. True 3) 선분의 기울기가 1보다 큰 경우에는 x를 1씩 증가시키면서 선분과의 교차점을 계산해야 한다. False 4) 브레스넘 알고리즘의 내부 루프에는 정수 연산만이 사용된다. True 5) 일반적으로 화소의 주소는 화소의 정중앙에 할당된다 False 6) 화소 (5, 7)은 선분 4x-2y=0의 위쪽에 있다. False 7) 삼각형 정점을 반시계 바향으로 따라갔을 때 삼각형 내부 화소는 진행 방향의 오른쪽에 있다. False 8) 사방 연결(4-Connectedness)된 다각형에 대해 8-방향 경계 채움을 가하면 오류가 발생한다. T..
[OpenGL] 평행 투상과 원근 투상 / 2022.10.24 1. 평행 투상 - 시점이 물체로부터 무한대의 거리에 있다고 간주하여 투상선을 나란히 가져가는 방법. - 원래 물체의 평행선은 투상 후에도 평행 - 시점으로 부터의 거리와 무관하게 같은 길이의 물체는 같은 길이로 투상됨 - 평행 투상은 정사 투상, 축측 투상, 경사 투상으로 나뉨 2. 원근 투상 - 시점이 물체로부터 유한한 거리에 있다고 간주 - 투상선이 시점에서 출발하여 방사선 모양으로 퍼져감 - 실제로 카메라나 사람의 눈이 물체를 포착하는 방식 - 동일한 물체라도 시점으로부터 멀면 작게 보이고, 가까우면 크게 보인다. (원근감) 3. 예제를 통해 알아보자 #include #include #include int Width, Height; void Init() { glClearColor(1.0, 1.0,..
[OpenGL] 타이머 콜백 / 2022.10.24 * 출처 : OpenGL로 배우는 3차원 컴퓨터 그래픽스, 한빛아카데미 일정한 시간 간격이 지나면 발생하는 이벤트가 타이머 이벤트이며, 타이머 콜백은 이 이벤트에 대응하는 콜백 함수다. void glutTimerFunc(unsigned int msecs, void(*func)(int value), int value); - unsigned int msecs : 얼마 후에 이벤트를 발생시킬 것인지, msec 단위 - void(*func)(int value) : 타이머 이벤트 발생 시에 호출되어야 할 함수명 - int value : 이벤트 발생 시에 콜백 함수에 넘겨줄 파라미터 예제를 통해 알아보자. #include #include #include #include unsigned char PALETTE[16]..
[OpenGL] 아이들 콜백 / 2022.10.23 * 출처 : OpenGL로 배우는 3차원 컴퓨터 그래픽스, 한빛아카데미 GLUT은 매우 짧은 시간 간격으로 이벤트 루프를 돌기 때문에 어떤 경우에는 큐에 새로운 이벤트가 아직 하나도 안 들어가 있는 때도 있다. 아이들 콜백을 정의하면 이 경우에도 콜백 함수를 만들어 필요한 일을 할 수 있다. 예제를 통해서 알아보자. #include #include #include GLfloat Delta = 0.0; void MyDisplay() { glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_POLYGON); glColor3f(0.0, 0.5, 0.8); glVertex3f(-1.0 + Delta, -0.5, 0.0); glVertex3f(0.0 + Delta, -0.5, 0.0); glV..