このサイトは、只今WEB業界で活躍中のデザイナー、プログラマーの方々の情報を集めたweb統合情報サイトです。

Archives Details

M1Macで行う「RUSTではじめるOpenGL」

Rust

2023.02.25

この記事は最終更新日から1年以上が経過しています。

以前購入していた「RUSTではじめるOpenGL」をM1Macで写経してみました。

本書のソースはこちら

 

環境は以下の通り

  • MacOS 11.6

  • rustc 1.61.0

  • cargo 1.61.0

  • GLSL 1.4

最初は、crateも最新でやっていたのですが、どうもコンパイルエラーが起きたり、APIが異なったりしたので最終的には本書とも合わせる形で以下のバージョンで実装。

[dependencies]
sdl2 = "0.32.2"
gl = "0.14.0"
cgmath = "0.17.0"
c_str_macro = "1.0.2"
imgui = "0.2.1"
imgui-sdl2 = "0.7.0"
imgui-opengl-renderer = "0.6.0"
image = "0.22.3"

 

主にシェーダー周りでコンパイルエラーが発生する。

以下の様に意図しない表示にもなる。

  

 

シェーダー全体的に以下の様に修正。

バージョンの変更

#version 140
#version 330

出力変数を自前で定義

out vec4 FragColor;を追加
in vec3 FragPosition;
out vec4 FragColor;
gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
FragColor = vec4(1.0, 0.0, 0.0, 1.0);

頂点属性の順番を明示的に指定

in vec3 iPosition;
in vec3 iNormal;
in vec2 iTexCoords;
layout(location = 0) in vec3 iPosition;
layout(location = 1) in vec3 iNormal;
layout(location = 2) in vec2 iTexCoords;
in vec3 iPosition;
in vec2 iTexCoords;
layout(location = 0) in vec3 iPosition;
layout(location = 1) in vec2 iTexCoords;

これらの修正で、MaMacでも最後まで進めることができました。

Texture

Framebuffer Objects

OpenGL、ImGUI、シェーダー周りの勉強にとても良い書籍でしたのでよろしければ。

 

Comment

Related Article

ゲーム開発に必要な基本数学入門

2025.08.15

Godot 4 & Rust 始め方

2025.06.19

Rustでつくる ふっかつのじゅもん

2025.04.29

Tauri(Rust) × AI で作る GitGUIクライアントアプリ その5

2025.04.14

Tauri(Rust) × AI で作る GitGUIクライアントアプリ その4

2025.04.10

Tauri(Rust) × AI で作る GitGUIクライアントアプリ その3

2025.04.08

Tauri(Rust) × AI で作る GitGUIクライアントアプリ その2

2025.04.07

Tauri(Rust) × AI で作る GitGUIクライアントアプリ その1

2025.04.05

keyring-rsで、Macのキーチェーンに登録する。

2025.04.04

RustとWebAssemblyによるゲーム開発 Webpack5対応

2025.03.27

CATEGORY LIST

LATEST NEWS

【2026】【VMware Fusion】MacでWindowsを無料で扱う。

windows

2026.07.19

Raspberry Pi 5 でマインクラフトサーバーを立てる(Java版 × 統合版クロスプレイ対応)

RaspberryPi

2026.06.24

ラズパイが高い。

RaspberryPi

2026.05.26

【Claude Code】フル稼働。ToDo Appを様々なGUIフレームワーク用いて作らせる。

AI・Bot・algorithm

2026.05.24

Macで歩く「たのしいバイナリの歩き方」うさみみハリケーンの代わりに、Cheat Engine / Bit slicerを使用する

アセンブラ

2026.04.12

Macで歩く「たのしいバイナリの歩き方」

アセンブラ

2026.04.10

【Railway】ひたすら安く個人開発サービスを運用する計画

サーバー

2026.04.06

たびのきろく

イベント

2026.02.23

【Railway】MySQLサービスをコスト抑えて運用する

運用

2026.01.19

あけましておめでとうございますmm DjangoアプリをRailwayに移行する。

運用

2026.01.06

効率の良い AI駆動開発について考える

AI・Bot・algorithm

2025.11.09

MacとClaude Codeで構築する cc65(NES)開発環境

Game

2025.10.24

RANKING

Follow

SPONSOR

現在、掲載募集中です。



Links

About Us

WEBデザイナーの、WEBデザイナーによる、WEBデザイナーの為のサイト。「みんなで書こう!」と仲間を募ってみたが、結局書くのは自分だけとなってしまいました。日々のメモを綴っていきます。

Entry Profile

Graphical FrontEnd Engineer
- Daisuke Takayama

MAD CITY 北九州市で生まれ育つ。20代はバンド活動に明け暮れ、ふと「webデザイナーになりたい。」と思い、デジタルハリウッド福岡校入学。卒業後、数々の賞を受賞、web業界をざわつかせる。
現在、主に、ゲーム制作中心に港区六本木界隈で活動中。

FOLLOW US