Настройка с нуля

Привет! Давайте узнаем, как работать с OpenGL ES в Rust.

Я назвал эту главу "Настройка с нуля", потому что предполагаю, что я мало знаю Rust и базовые знания 3D-графики и OpenGL ES.

Таким образом, это руководство может научить вас основам Rust и тому, как заставить Rust работать с OpenGL, однако для более глубокого изучения OpenGL вам понадобится другой учебник или книга.

"С нуля" также означает, что мы будем пытаться создавать абстракции самостоятельно, чтобы лучше узнать Rust. В дополнение к этому, мы сможем следовать существующим руководствам по OpenGL, потому что мы будем точно знать, какие функции OpenGL мы вызываем.

Обратите внимание, что я тоже учусь, делая это. Тем не менее, я уже однажды написал немного беспорядочный рендерер OpenGL ES на Rust, поэтому у меня есть некоторое представление о том, как это должно происходить. Я также не тороплюсь, чтобы убрать беспорядочный код и максимально упростить конечный результат.

Настройка для разработки на Rust

Есть много способов настроить среду разработки для Rust. Вы можете выбрать наиболее удобную для вас настройку на этой веб-странице. Я объясню свою установку, которой вы можете следовать.

Поскольку Rust изначально разрабатывался как кроссплатформенный, чистый код Rust будет компилироваться и запускаться на многих платформах. Мы будем использовать подход, который не заставит Вас погружаться в детали взаимодействия с библиотеками написанными на C.

Я пишу это руководство используя Linux в качестве основной платформы, и если вы используете OSX, то использование этого руководства не потребует практически никаких усилий.

Во-первых, для любой настройки потребуется rustup, установщик набора инструментов Rust, который позаботится об обновлении Rust и многое другое. Если вы установили Rust с помощью диспетчера пакетов вашей ОС или Homebrew, я рекомендую удалить его и переустановить через rustup.

По завершении rustup должен быть доступен из командной строки:

> rustup --version
rustup 1.24.2 (755e2b07e 2021-05-12)

Установите набор инструментов с помощью rustup (возможно, уже установлен):

Установка в Linux

> rustup install stable-x86_64-unknown-linux-gnu

Установка в OSX

> rustup install stable-x86_64-apple-darwin

Установка в Windows

В Windows Rust доступен с двумя наборами инструментов: GNU (совместим с библиотеками Mingw C) и MSVC (совместим с библиотеками Microsoft C ++ C). Мы будем использовать набор инструментов MSVC.

> rustup install stable-x86_64-pc-windows-msvc

Сделать по умолчанию:

> rustup default stable

rustc and cargo оба должны работать (настройте требуемые пути к среде и снова войдите в систему, если они не работают):

> rustc --version
rustc 1.52.1 (9bc8c42bb 2021-05-09)
> cargo --version
cargo 1.52.0 (69767412a 2021-04-21)

Я использую бесплатную Visual Studio Code, потому что как она имеет очень хорошую поддержку Rust за счет использования расширений.

Привет мир

В командной строке создайте новый проект Rust:

> cargo new --bin new-project
     Created binary (application) `new-project` project

Вы можете запустить его из командной строки:

> cd new-project
new-project> cargo run
   Compiling new-project v0.1.0 
    Finished dev [unoptimized + debuginfo] target(s) in 1.8 secs
     Running `target\debug\new-project`
Hello, world!

Похоже, "Hello world" уже написано, как это скучно?

Запустите VSCode и откройте тот же проект Rust. Он будет содержать каталог src с файлом main.rs. В файле main.rs вы найдете функцию main:

fn main() {
    println!("Hello, world!");
}

Поздравляю! Мы готовы начать Cоздание окна.