(1)에서의 개발 환경 세팅에 이어서 가장 간단한 window를 먼저 띄워보자.
https://jjuke-brain.tistory.com/51
OpenGL Tutorial 관련 코드는 아래에 정리해두었다.
https://github.com/JJukE/Parametric-Design-with-OpenGL
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였다면, 위와 같이 클래스 파일을 생성할 때 기본 틀이 주어지지만, VS Code에서는 완전히 새로운 파일을 만들게 되므로, 직접 틀을 만들어주어야 한다.
다음과 같이 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();
}
여기까지 코드 결과는 다음과 같다.
이제 'dotnet run'을 통해 실행시켜주려 하는데 ...
역시 한번에 되지 않는다.
맥에서 openGL을 사용하려면 버전을 높여야 한다는 것인데,
또 버전을 높여버리면 강의와 버전이 달라져 중간에 진행이 어려울 수 있기 때문에,
실행만큼은 윈도우즈에서 진행해주어야 할 것 같다.
나중에 기회가 된다면 OpenGL 3.2 이상 버전을 사용할 때 맥에서 진행해봐야겠다.
따라서 진행하던 프로젝트 디렉토리를 github에 올려 밖에서 코딩할 때에는 맥으로 코딩하고,
실행시킬 때에는 윈도우즈 노트북이나 데스크탑으로 실행할 것이다.
최근댓글