300x250

(1)에서의 개발 환경 세팅에 이어서 가장 간단한 window를 먼저 띄워보자.

 

https://jjuke-brain.tistory.com/51

 

C#에서 OpenGL로 프로그램 만들기 (on Mac) (1)

본 내용은 검색 등을 통해 찾아보면서 시도해본 내용을 기록한다. OpenGL은 보통 C/C++에서 많이 쓰이고, C#에서 쓰는 경우 Windows에서 사용하는 경우가 대부분이다. 특히 이번 글은 프로그램을 만들

jjuke-brain.tistory.com

 

OpenGL Tutorial 관련 코드는 아래에 정리해두었다.

 

https://github.com/JJukE/Parametric-Design-with-OpenGL

 

GitHub - JJukE/Parametric-Design-with-OpenGL: Lab Project - Parametric Design

Lab Project - Parametric Design. Contribute to JJukE/Parametric-Design-with-OpenGL development by creating an account on GitHub.

github.com

 

 

https://www.youtube.com/watch?v=ZOxgD16C3GM

 

 

 

 

 

1. Game Window 생성

 

OpenTK 패키지에 'Game Window'라는 클래스가 있다.

Game Window는 우리가 진행하는 그래픽 내용을 화면에 표시해주는 클래스이다.

rendering을 해주는 loop 코드가 있는데, 이에 override할 수 있는 함수를 활용하여 코드를 작성할 것이다. 이를 통해 우리가 render loop에 접근할 수 있다.

 

 

 

 

1) Game.cs 클래스 파일 생성

 

먼저, Game.cs라는 클래스 파일을 생성한다.

 

Visual Studio에서 클래스 파일을 생성할 때

 

Visual Studio였다면, 위와 같이 클래스 파일을 생성할 때 기본 틀이 주어지지만, VS Code에서는 완전히 새로운 파일을 만들게 되므로, 직접 틀을 만들어주어야 한다.

다음과 같이 Game.cs 파일의 기본 틀을 작성해주자.

 

Game.cs 기본 틀

 

class Game 앞에 public을 붙여줌으로써 main game loop에 접근할 것이다.

 

그리고 상단에 OpenTK와 OpenTK.Windowing.Desktop namespace를 추가하여 OpenTK 패키지를 사용하고, game window에 접근할 수 있도록 한다.

 

또한 Game 클래스가 GameWindow라는 클래스를 상속하도록 코드를 작성한다.

 

 

 

 

2) Constructor

 

그리고 아래와 같이 Constructor를 만든다. 이때 base constructor를 사용하는데, GameWindowSettings와 NativeWindowSettings라는 두 개의 argument들을 갖는다.

 

public Game()
: base(GameWindowSettings.Default, NativeWindowSettings.Default)
{

}

 

두 argument를 모두 default로 설정해줌으로써 Window 설정이 default값을 따르도록 한다.

 

 

 

 

3) Run the game

 

그다음, 게임을 실행시켜 윈도우를 띄워주는 코드를 작성한다.

 

using(Game game = new Game())
{
	game.Run();
}

 

여기까지 코드 결과는 다음과 같다.

 

Run the game window

 

이제 'dotnet run'을 통해 실행시켜주려 하는데 ...

 

 

역시 한번에 되지 않는다.

맥에서 openGL을 사용하려면 버전을 높여야 한다는 것인데,

또 버전을 높여버리면 강의와 버전이 달라져 중간에 진행이 어려울 수 있기 때문에,

실행만큼은 윈도우즈에서 진행해주어야 할 것 같다.

나중에 기회가 된다면 OpenGL 3.2 이상 버전을 사용할 때 맥에서 진행해봐야겠다.

 

따라서 진행하던 프로젝트 디렉토리를 github에 올려 밖에서 코딩할 때에는 맥으로 코딩하고,

실행시킬 때에는 윈도우즈 노트북이나 데스크탑으로 실행할 것이다.

 

Github

 

 

728x90
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기