サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 17
qiita.com/hajimehoshi
tl;dr go-gl は Go の OpenGL バインディングです。 Windows などのデスクトップ環境に対応しています。実装は単純に C の関数を Cgo を使って呼ぶだけです。が、 Cgo には後述するような問題があり、現在のところ必要悪とみなされています。 ところで Windows では、 DLL からの関数ポインタ取得および syscall.Syscall などの関数を使うことで、一切 Cgo を使わずに C 関数を利用することができます。自分はこの修正を提案し、無事アクセプトされました。現在 PR がレビュー中です。 提案の詳細は Design Doc にまとめています。本記事はこの提案のざっくりとした和訳および補足説明です。 背景 OpenGL は C の関数セットであるため、 Go と OpenGL のバインドに Cgo が使われています。しかしながら Cgo には以
お断り 本稿は筆者が技術書典 3 で頒布した「Ebiten API Reference」の、ある章の抜粋および改変です。 Pre-multiplied Alpha と Straight Alpha 色は Red、 Green、 Blue、 Alpha の 4 つの成分で表されます。 Alpha は不透明度を表す値です。 Red、 Green、 Blue の値に Alpha を乗算した形式を Pre-multiplied Alpha (乗算済みアルファ) と呼びます。逆に乗算する前の形式を Straight Alpha と呼びます。 Go の image/color パッケージは、 Pre-multiplied な色の構造体は例えば RGBA という名前がついているのに対し、 Straight な色の構造体は例えば NRGBA となっています。また Color インターフェイスの RGBA
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? tl;dr (要約) Go の MP3 デコーダー実装がなかったので、既存の C のものを移植し、 go-mp3 というライブラリを作りました。 背景 Pure Go な実装の MP3 デコーダーを探したのですが、自分の探す限りでは見つかりませんでした。 tcolgate/mp3 が最も近かろうと思われましたが、これはどうやらコンテナをデコードするのみのようです。 ないものはしょうがないので、自分で実装することにしました。フルスクラッチで実装するモチベーションはなかったため、既存の別言語の物を転用することにしました。今回は PDMP3
この記事は RPG ツクール MV Advent Calendar 2016の 25 日目の記事です。メリークリスマス! tl;dr (要約) RPG アツマールは RPG ツクール MV 製のゲームがアップできるサイトです。 RPG ツクール MV のゲームは純粋な Web アプリケーションであるが故に、アツマールに RPG ツクール MV とは無関係の Web アプリケーションをアップすることが出来ます。アツマールには RPG ツクール MV のゲームを想定した制約が幾つかあり、その制約を守る必要があります。 JavaScript のファイルサイズについても制約に引っかかる可能性がありますが、 lz-string.js による圧縮で工夫して乗り切れます。 RPG アツマールと RPG ツクール MV RPG アツマールは RPG ツクール MV 製のゲームがアップできるサイトです。 一
本稿では、筆者が普段使っているツールの一つである、 GopherJS の基本的な使い方について説明します。 GopherJS は Go で書いたプログラムを JavaScript に変換するソフトウェアです。生成した JavaScript は、 Web ブラウザはもちろん、 node.js で実行することが出来ます。 Web アプリケーションを書かなければならないが、どうしても Go で書きたいという、 Go プログラマーによくある (?) お悩みにうってつけです。 変換結果はそこそこ素直な読みやすい JavaScript になります。 asm.js に変換する Emscripten や、バイナリ形式の Web Assembly とは異なるアプローチです。 GopherJS のアプローチの場合、デバッグやプロファイルはしやすいですが、ファイルサイズやパフォーマンスには若干難があります。 な
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? この記事は、拙作 Go 製 2D ゲームライブラリ Ebiten を Android および iOS に対応させた顛末をまとめたものです。まだ完全な対応の完了はしていないため、逐一編集していく可能性があります。 git log のコミットを見て思い出しながら書いた日記形式で綴ります。あくまでも思い出しながらなので、不正確な点もあります。 Ebiten は Go でできたレトロ風な 2D ゲームライブラリで、デスクトップやブラウザで動かすことができます。描画は、幾何行列および色行列による変換機能、オフスクリーンレンダリング機能があります。
BattleManager.startInput = function() { this._phase = 'input'; $gameParty.makeActions(); $gameTroop.makeActions(); this.clearActor(); if (this._surprise || !$gameParty.canInput()) { this.startTurn(); } }; turn フェーズから input フェーズに遷移するときに Game_Unit の makeActions が呼ばれ、結果的に Game_Battler の makeActions が呼ばれますが、これは一体何をしているのでしょうか。 makeActions はアクターとエネミーで若干異なります。 Game_Actor の makeActions は _actions に Game_A
Ebiten (海老天) 概要 年末年始休みを費やして Go でゲームライブラリ Ebiten の新バージョン 1.1.0-rc1 をリリースしました。特徴は以下の通り: Go を使ったゲーム開発 楽しい! シンプルな API スクリーンもテクスチャも全部 ebiten.Image 構造体で表されます。 Ebiten における描画は ebiten.Image に ebiten.Image を描画する形だけでほぼすべて表現されます (v1.1.0-rc1 時点)。また、 ebiten.Image 構造体は image.Image インターフェイスを実装しているため、例えば描画中の画面を PNG にデコードして保存なども簡単にできます。 2D グラフィックス アルファブレンディング 行列演算による描画 (幾何変換および色変換)、いずれもシェーダ (GLSL) で実行されるので高速 オフスクリー
←: 左移動 →: 右移動 ↓: 下移動 Space: 回転 いろいろ Go でゲームプログラミングを書くのはどうなのか Go だからゲームプログラミングが特別書きやすいとか書きにくいとかは無いような気がします。コンパイルが早いので、修正と確認のサイクルが早いのはいいですね。 cgo OpenGL の C の API を呼ぶためには cgo を使います。また、 C だけではなく C++ や Objective-C も使えます。特に Objective-C が使えるおかげで、 Cocoa ライブラリを呼ぶことができます。今回は cgo を使って Cocoa の NSWindow や NSOpenGLContext を扱うプログラムを書きました。 Go から OpenGL を使うだけならば、 cgo ではなく go-gl や go-gl の glfw を使うのが楽で良いと思います。今回はあえて
wxWidgets を静的リンクしたいけども、アプリケーション側では C++11 (libc++) を使いたくて、そうすると wxWidgets もそれにうまく対応させてコンパイルしないとダメだよね、という話。予想外に苦労したのでここに顛末をメモっておきます。 clang のバージョンは 3.0 です。 結論から言うと、 configure する際に以下の指定で出来た: ./configure CXX="clang++ -std=c++0x -stdlib=libc++ -DwxNO__T -DHAVE_TYPE_TRAITS -Dfinite=isfinite" \ --enable-unicode --enable-debug --disable-shared --disable-webview --with-opengl --with-macosx-sdk=/Developer/SD
このページを最初にブックマークしてみませんか?
『@hajimehoshiのマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く