uka.apple のすべての投稿

ゲーム制作 環境原猫 17日目

今日は、14日目に作成した三角形のコードを変更して

を描画しました。

赤い箇所が変更/追加部分です。

gl::DrawArrays(
    gl::POINTS,    // mode
    0,             // starting index
    3,             // number of indices to be rendered
);
gl::Enable(gl::VERTEX_PROGRAM_POINT_SIZE);
#version 330 core
layout (location = 0) in vec3 Position;
void main()
{
    gl_Position = vec4(Position, 1.0);
    gl_PointSize = 30.0;
}

次回以降は、この点を

ポイントスプライト

に置き換えて、当初の目的である水分子を描画します。

次の日

ゲーム制作 環境原猫 16日目

昨日から、描画部分をOpenGLとDirectXのどちらにするか悩んでいました。

OpenGLとDirectXを比較すると、

・OpenGLはWindows, Mac, Linuxなど色んなOSに対応

・DirectXはWindowsのみ対応

・ゲームによるが、だいだいOpenGLはDirectXの7割~9割のパフォーマンス(OpenGLは影の描画が汚かったり画質が悪いことがある)

でした。

思ったより差が無かったです。パフォーマンスが倍くらい違えば間違いなくDirectXにしたんですが、困りました。ちなみにOpenGL後継のVulkanは思ったよりパフォーマンス上がってないですね。

WebGLでブラウザ経由によりいろんな環境に対応できそうなので、明日からは引き続きOpenGLで開発を継続したいと思います。

次の日

ゲーム制作 環境原猫 15日目

昨日まではOpenGLでの描画基礎処理を行ってきましたが、今日はこのままOpenGLで開発すべきか悩んでいました。

過去にWebGLベースで開発してWebアプリiOSアプリの両対応したことがあるのですが、iOSアプリについては「売れていない&アップデートされていない」という理由で

Appleにアプリストアからアプリを削除されてしまいました。

OpenGLで開発して将来的にはiOS対応の選択肢も残しておこうと思っていましたが、Windowsだけ対応すれば良いじゃないかという気になってきました。iOSではOpenGL非推奨で、Metalが推されてもいますしね。

そこで今日はこのページを見たりこの動画を見たりしていました。

次の日

ゲーム制作 環境原猫 14日目

今日は昨日までにチェックした情報を元に

三角形を1つ

描画しました。

一応Steamに出す予定なのでソース全体は載せません・・・

このページを見ればどんなソースかわかると思います。

あとフルスクリーンをやめて、サイズ変更可能なウィンドウ表示に変更しました。

    let window = video_subsystem.window(“環境原猫”, window_w, window_h)
        .opengl()
        .resizable()    // .fullscreen_desktop()
        .build()
        .unwrap();

次の日

ゲーム制作 環境原猫 13日目

今日は、昨日に引き続きこのブログこのページを読みました。

これでOpenGLで

三角形

を描くとこまで読み進みました。

どうも私は会社で普通に働いてるのでなかなか作業が進みません。

このアプリの月額課金の売り上げで生活出来るようになればゲーム制作に集中するのですが・・・

次の日

ゲーム制作 環境原猫 12日目

今日は、昨日に引き続きこのブログこのページを読みました。

あとはVSCodeに、言語サーバとして

rust-analyzer (公式のRust Language Serverは廃止になった)

と、ステップ実行するために

CodeLLDB

の拡張機能をインストールしました。

この2つの拡張機能で

Visual Studio使ってるときみたいに

開発できるようになりました。

(੭ ˃̣̣̥ ω˂̣̣̥)੭ु⁾⁾

これで明日からゲーム開発がバリバリ進む・・・筈です。

次の日

ゲーム制作 環境原猫 11日目

今日は、昨日に引き続きこのブログこのページを読みました。

あとはソース先頭行に書いたコード

#![windows_subsystem = "windows"]

について、これは余分なウィンドウが表示されるのを防ぐコードですが、これがあると標準出力されなく実行時のエラー原因などがわからなくなってしまいました。

そこでリリース時のみこのコードが有効になるように

#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]

の記述に変更しました。

次の日

ゲーム制作 環境原猫 10日目

本日は、昨日目星をつけていたこのブログこのページこのページを読んで勉強しました。

おまじない的に何となく記述していた箇所を、ちゃんと理解できるようになりました。

(੭ ˃̣̣̥ ω˂̣̣̥)੭ु⁾⁾

今回作成するゲームは、低水準部分から作りたいので基礎は大事です。地道に学習します。

何となくRustを理解している方にも、読んでいただくことをお勧めします。

次の日

ゲーム制作 環境原猫 9日目

OpenGLのポイントスプライトで、昨日作成した水分子を描画するためにどうすればよいか、本日は調査を行います。

情報源としては

この本を買う

このリポジトリを見る

このブログを見る

などがありそうです。

サクッとこの本を買って勉強したいところですが、目次を見る限りあまり詳しく解説されているように見えないので、このリポジトリこのブログを本日は調べました。

次の日