展示ホールで開催される技術同人誌イベント「技術書典7」にて、書籍『RustではじめるOpenGL』を頒布いたします。(マップ)書籍執筆に寄せて本書は、プログラミング言語のRustでOpenGLを扱うための入門書です。私はこれまで、OpenGLを使ってネットワーク上のデータの流れを3Dで可視化させるソフトウェアを作成してきました。OpenGLを知らないところからスタートして、様々なところにつまづきながら、4年間で多くのことを学ぶことができました。本書はその集大成として、入門者向けの内容をまとめたものです。Rustを使うメリット本を執筆していることを周りの人に伝えると、よく「なぜRustからOpenGLを使うのですか?」という質問を受けることがありました。本書では、RustからOpenGLを使ったときの3つのメリットを挙げています。FPSを維持することができるはず。ガベージコレクションがないので、画面がカクつかない画面の描画処理がシビアなシステムでは、ガベージコレクションによって画面がガクガクすることがあります。Rustにはガベージコレクションがないので、安定した画面描画をすることができます。モダンなプログラミング言語が持つ、便利な特徴・環境を使用できる様々なプラットフォームでの動くバイナリファイルが簡単に作成できたり、新しいライブラリの導入が楽だったりするのは、モダンなプログラミング言語ならではです。これらのメリットもあって、RustからOpenGLを使う方法を執筆しようと思いました。」(通称、ImGui)を導入しているところが挙げられます。OpenGLにチェックボックスやスライダーなどのウィジェットを追加するのは、とてつもなく面倒です。このライブラリを導入することで、OpenGL特有のパラメータをON・OFFできるGUIを簡単に追加することができます。照明の位置や強さを変えたり、カメラの視点を変えたり、ワイヤーフレームに切り替えたりするような作業をGUIから操作することで、より直感的にその効果を把握できるようになります。次のスクリーンショットは、書籍のサンプルコードを実装すると動作するサンプルアプリです。3Dオブジェクトを制御するGUILinuxでもWindowsでも動作可能な独自OpenGLコンソールが作れる本書のプログラムが採用しているフレームワークとして、SDLというものがあります。これは多くのゲームにも採用されている、クロスプラットフォームなマルチメディアフレームワークです。OpenGLも多くの環境で動作する3DプログラミングのためのAPI規格です。それらを呼び出すRust自体も、様々な環境で動作できるプログラムをコンパイルできます。これらをすべて合わせると、自分だけのクロスプラットフォームなOpenGL製コンソールが作成できるのです。(バイナリファイルは各プラットフォームごとに必要です。)例えば、データベースから得た情報を元にグラフをぐいぐい動かしたり、映画『アイアンマン』に出てくるカッコいいビジュアルのコンソールを作り出せます。ImGuiのサンプル画像どうです。技術書典7で150部頒布し、残った場合はBOOTHに委託しようと考えています。電子書籍版もこちらに公開します。電子書籍版は部数に制限はないです。toyamaguchi.booth.pm現在は、準備中ですが上記のリンクの場所に公開する予定です。書籍の表紙について先日、書籍の表紙の完成をTwitterでつぶやいたところ、多くの人から「いいね」をいただけましたので、この表紙について少し解説いたします。表紙のロゴ私は大学時代の美術サークルに入っていたこともあり、このようなデザインの作成はすごく好きです。自分の書籍を作るのだから、表紙を凝らないでどうする、という気持ちから、いろいろ悩みました。OpenGLがテーマでしたので、よく見るポリゴンスタイルの背景壁紙のような案や、立方体や正八面体をモチーフにした案なども考えていました。考えていた中で、OpenGLのシェーダの中でも、わざと画面にノイズを加えた表現方法である「グリッチ」のアイデアが浮かびました。チの度合いを強くし過ぎると視認性が悪くなるので、グリッチ効果をより抽象的にして、グリッチの度合いを弱めた表現に変更しました。フォントまた、画像の中で使用させていただいたフォントは、「851ゴチカクット」です。昔の松下電器の「ナショナル」の文字にインスパイアしてできたフォントで、このカクカクしたところが近未来的でポップな印象を与えてくれます。ありがとうございます。851ゴチカクット851ゴチカクットフォントが与える印象は大きいです。最近のコミックやライトノベルの表紙に使われているロゴを見てもわかりますが、コミカルでポップなストーリーと、世界観が確立されたシリアスなストーリーとでは、使っているフォントの傾向が違います。自分の書籍の印象をどういう雰囲気にするのかを考慮して、フォントをしっかり決めましょう。フリーフォント」などで検索して、良さそうなフォントの画像をダウンロードします。その中から、最も表紙に似合うフォントを選んでいます。お気に入りのフォントというのもあって、今回はチームロゴと裏表紙の英語ロゴで使用しました。ちなみに、チームロゴで使っているフォントは、丸い文字がかわいい「Comfortaa」です。Fontチームロゴ裏表紙の英語ロゴは、サイバーな雰囲気を与えてくれる「Orbitron」です。本書の内容を箇条書きでここに記しますので、参考にしていただけたらと思います。展示ホールで開催されます。他にも面白い書籍がたくさんありますので、サークルリストで確認してから足を運ぶと良いと思います。techbookfest.orgまた、私のサークルはこちらになります。»プロフィールid:toyamaguchiソフトウェアエンジニア。セキュリティが私の関心。(11)月別アーカイブはてなブログをはじめよう!toyamaguchiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。