#temanoteスマートフォン用の表示で見る#temanoteLinux大好き。SDL2.0編ちょくちょく調べながら進んでおりましたがようやく進捗が出たのでまとめます。そもそもグラフィクス周りのAPIとウィンドウ周りのAPIの違いを知らなかった。グラフィックAPI(OpenGL,DirectX描画を担当(自明アプリケーションとしてのウィンドウの生成などには無関係ウィンドウ周り(GUIツールキットとかその辺りのライブラリとかウィンドウの生成、イベントの管理etcを担当グラフィックAPIを利用して画像の表示等を行うつまりOpenGLだけでアプリケーションを作るというのは間違いで、OpenGLを利用したGUIツールキットを利用してアプリケーションを作るというのが正しいらしい。他にもいろいろ調べたおかげでX11周りとか描画処理とかについて知見が貯まったので楽しかった。これを踏まえたうえで何を使うかを決めなければならない本編まだ「OpenGLでゴリゴリ作るぞ」とか言ってた時代にOpenGLのチュートリアル(英語)を必死で読んでました。creation"なる項目がありまして、以下。Toolkitsにすごい見知った名前がいろいろ有るじゃないですか。Freeglut,GLUT,SDL,Qt,wxWidgets...ここでやっと「OpenGLだけでやるもんじゃないんだな」ってわかりました(遅いというわけで、この中で一番確実に非矩形ウィンドウ作れそうなのがSDL。Window"としっかり記載されている。ここqiita.comD言語ではあるけど、リファレンスに乗ってない関数2つの名前は載せてくれている。関数自体はCなのでソースもそのまま参考にできる。include/SDL_shape.h@e12c38730512実装というよりヘッダファイルがそのままリファレンス。あとSDLの基礎が分かってないとどうしようも無いのでこちらも頑張る。SDL1.2ではなく2.0なので注意。IndexSDL2.0のチュートリアル。<SDL2/SDL.h>のどっちかは/usr/include/以下あたりを実際に見て確認するべし。チュートリアルでは上だったが、ArchにpacmanでSDL2.0を導入した場合には下だった。EscapeSDL_imageを利用してpng画像を表示させるサンプルコードが載ってるのでありがたく写経。夢のLinux上で動くデスクトップマスコットができました。改善点Archで作ってたのにUbuntuでスクショ撮ったのは訳がありまして。2016年5月6日Xmonadだと何故か背景が完全透過せずに半透過する。Xmonad側が原因かと思ってたけど透明ウィンドウは(間違って)ちょくちょく出してたので違うっぽい。あと、SDLで作ってあるのでSDLランタイムがないと動かないっていうのもちょっと。クロスプラットフォームってランタイムあるからこそだよなぁ...まぁ仕方ないか。まとめたけどここまで来るのにすごい時間かかった。Twitterに張り付いてばっかりいるからね、仕方ないね。2016の15日目の記事です。www....2016-04-04進む道の方向性を。hs.hs#1に参加してきました。最高のエンターアピール体験をあなたに。Linux/OSSが大好き。(1)月別アーカイブはてなブログをはじめよう!toshihito_itさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。