WebGLの能力を引き出すプログラマブルシェーダー Webページ上で利用できるグラフィック技術を紹介する本連載も、ついに最終回となりました。フィナーレを飾る題材は、WebGLの最も強力な機能である「プログラマブルシェーダー」です。前回(多彩な表現力のWebGLを扱いやすくする「Three.js」)と同様にThree.jsの使用を前提として、プログラマブルシェーダーの基本的な書き方と、Three.jsを各機能に組み込む方法を解説します。 前回はThree.jsの代表的な機能を解説し、いずれもWebGLでなければ実現の難しいものばかりでした。しかし、実はそれでもWebGLの能力のごく一部を使っているにすぎません。独自のプログラマブルシェーダー(カスタムシェーダー)を書くことができれば、描画処理の大部分を柔軟にカスタマイズでき、望み通りの表現を得られます。Three.jsの使い方に慣れたら、ぜひ
Androidプログラミング-OpenGLと同じOpenGL ESプログラミングだが、 今回はNDKを使ってC++プログラムからOpenGLを呼び出す。 プロジェクトの作成 Androidプログラミング-OpenGLと同じようにしてandroid.opengl.GLSurfaceView.Renderer インターフェースを実装する。 今回は区別をつけるためにGLRendererではなくNdkGLRendererというクラス名にした。 JAVA側の変更 例えば onDrawFrame() を呼び出されたらそのままほとんど同名のCの関数 onNdkDrawFrame() を呼び出す。 使用に先立ちC++のライブラリの名前はlibNdkGLRenderer.soという名前だとして、 System.loadLibrary()で"NdkRenderer"をロードしている。 public cla
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
C++ は .NET や PHP などと違い、Twitter 関係のライブラリが充実していません。また、解説サイトも少なくプログラムを組むのはなかなか困難です。既存の Twitter クライアントでも、.NET や AIR をベースとして構築しているものが多いのが現状です。 しかし、今回は、OAuth の仕組みを学ぶということを目的とし、C++ で組むこととしました。C++ 自体のスキル向上という目的もあります。 ※ ただし、ネットワークや暗号化などにはライブラリを利用しています ■ 開発環境 Ubuntu 10.10 g++ version 4.5.5 Cygwin g++ version 4.3.4 ※ クロスプラットフォームライブラリを利用しているので、Windows でもコンパイル可能 (未検証) ■ 利用ライブラリ ・ cURLpp 通信処理 ・ CLX C++ Librarie
Ringとは、リクルートグループ会社従業員を対象にした新規事業提案制度です。 『ゼクシィ』『R25』『スタディサプリ』など数多くの事業を生み出してきた新規事業制度は、 1982年に「RING」としてスタートし、1990年「New RING」と改定、そして2018年「Ring」にリニューアルしました。 リクルートグループの従業員は誰でも自由に参加することができ、 テーマはリクルートの既存領域に限らず、ありとあらゆる領域が対象です。 リクルートにとって、Ringとは「新しい価値の創造」というグループ経営理念を体現する場であり、 従業員が自分の意思で新規事業を提案・実現できる機会です。 Ringフロー その後の事業開発手法 Ringを通過した案件は、事業化を検討する権利を得て、事業開発を行います。 さまざまな事業開発の手法がありますが、例えば既存領域での事業開発の場合は、 担当事業会社内で予算や
node.js から MongoDB にアクセススためのライブラリに Mongoose があります.今回はこれを紹介しようと思います.O/R Mapper っぽく使えるように設計されており,既存の O/R Mapper を使ったことがある人にとっては,比較的わかりやすい仕様です. 見出し Mongoose とは? インストール 何はともあれ使い方を Schema 定義について ドキュメント生成 (保存) ドキュメント読み取り ドキュメント更新 ドキュメント削除 Embedded Document 終わりに Mongoose とは? node.js 向けに開発された MongoDB アクセスライブラリです. 公式:http://mongoosejs.com/ GitHub:https://github.com/learnboost/mongoose/ Mongoose is a MongoD
枝向けのパラメータ Distribution 項目 説明 Group Seed 乱数の種 Frequency 枝の数 Distribution 枝の分布ルール Twirl 枝が伸びる根本の位置を回転 Growth Scale 親ノードに対するスケールを指定 Growth Angle 親ノードに対する成長の初期角度を指定 Distributionで選択出来る項目 項目 説明 Random ランダム Alternate 正面から見た時に右向き、左向きと交互に枝が伸びる分布 Opposite 幹の同じ位置から左右に2本伸びる分布 Whorled 幹の円周方向に分布 【参考ページ】 こちらのページの図が分かり易いです。 Is Your Tree an Alternate or an Opposite? http://forestry.about.com/b/2011/09/09/is-your-t
2009年06月13日22:00 カテゴリLightweight Languages javascript - にはクラスはない かえってわかりにくくなっている感じをかつてさんざん実感したので。 JavaScriptのオブジェクトについて考察してみた - あと味 JavaScriptにおけるほとんど全てのデータはオブジェクトである オブジェクトの定義にもいろいろありますが、ここでは「メソッドを持つ」という狭い意味においても事実だということです。実際に見てみましょう。 p(true.toString()); p("String".toString()); p((1).toString()); p((3.14159265).toString()); p([0,1,2,3].toString()); p({q:"answer to life, the universe, and everythi
なんかIO扱ったりするのにConduitが熱いらしいので使ってみた。まだよく分かってないのでたぶん色々間違ってる。 ConduitではSourceから一つずつ流れてくるデータをConduitで流れ方を変えたり加工したりしてSinkに流す。SourceとSinkがファイルでConduitが無い場合(つまりファイルの中身を全部コピーするだけ)の例は以下の通り。 import Data.Conduit (($$)) import qualified Data.Conduit as C import qualified Data.Conduit.Binary as CB main :: IO () C.runResourceT $ CB.sourceFile "in.txt" $$ CB.sinkFile "out.txt" sourceFileでファイルの中身をまとめて流すSourceを作り、s
C++11標準ライブラリで追加されたenable_shared_from_thisクラステンプレートについてメモ。Boost.Smart Pointersライブラリでも同機能を提供している。 N3337 20.7.2.4/p1より引用。 A class T can inherit from enable_shared_from_this<T> to inherit the shared_from_this member functions that obtain a shared_ptr instance pointing to *this. 具体的な利用例としては http://www.boost.org/doc/html/boost_asio/tutorial/tutdaytime3.html など(使用理由の説明)。 正しい利用方法 「クラス型Tの*thisへのshared_ptr<
Googleが先日発表したプログラミング言語Dart。その特長の一つとして挙げられるIsolateが面白そうだったので、ちょっと特性を調べてみた。結論から言うと、なかなか気難しい機能だな、という印象。 何か意味のあるサンプルを作りたかったわけではなく、単に動作の性質が知りたかっただけです 実装は読んでないので多分に憶測混じりです dartlang.org上のDartboardでテストしています DartのIsolateはErlangのプロセスに似ていると評価されることがあるが(確かに似たところもあるが)、使用感は全く別物と思った方が良いと思う。最も大きな違いは「receiveがブロックしない」つまり「メッセージを受信するまで待つ」ことができないこと。 class IsolateA extends Isolate { main() { port.receive((msg, replyTo)
Stay organized with collections Save and categorize content based on your preferences. Explore our growing collection of courses on key web design and development subjects. An industry expert has written each course, helped by members of the Chrome team. Follow the modules sequentially, or dip into the topics you most want to learn about.
These are some common FLTK code snippets I often find hard to remember how to do when looking at the docs. Besides, I like having working code examples handy that I can cut + paste from to get started with right away. I often start with these mini-programs and turn them into working programs. This is always a work in progress; I add examples as I encounter the need for them.
長年の疑問の答えが Enumerator だった。今日はそんなお話です。 findを実装する Real World Haskell の第9章に UNIX の find コマンドを作る例があります。最初は安直に実装してみましょう。まず、ディレクトリの内容を得る補助関数と、ディレクトリが辿れるか調べる補助関数を用意します。 getValidContents :: FilePath -> IO [String] getValidContents path = filter (`notElem` [".", "..", ".git", ".svn"]) <$> getDirectoryContents path isSearchableDir :: FilePath -> IO Bool isSearchableDir dir = (&&) <$> doesDirectoryExist dir <
目次 ホーム 連絡をする RSS Login Blog 利用状況 投稿数 - 1078 記事 - 2 コメント - 26445 トラックバック - 363 ニュース 著作とお薦めの品々は 著作とお薦めの品々は 東方熱帯林へ。 わんくま 東京勉強会#2 C++/CLI カクテル・レシピ 東京勉強会#3 template vs. generics 大阪勉強会#6 C++むかしばなし 東京勉強会#7 C++むかしばなし 東京勉強会#8 STL/CLRによるGeneric Programming TechEd 2007 @YOKOHAMA C++・C++/CLI・C# 適材適所 東京勉強会#14 Making of BOF 東京勉強会#15 状態遷移 名古屋勉強会#2 WinUnit - お気楽お手軽UnitTest CodeZine Cで実現する「ぷちオブジェクト指向」 CUnitによるテスト駆
はじめに ご使用上の注意 (1) 主な更新履歴 (25) 管理者へのメール (1) 自己紹介 (1) 基本編 用語集 (82) Webページ作成入門 (7) 逆引きリファレンス (32) フォーマット HTML (402) HTML5 (7) XHTML (1) MathML (1) DTD (1) JSON (1) SVG (1) VML (1) GIF (1) CSV (1) セマンティック・ウェブ (1) CSS CSS (ABC順)(719) Bootstrap (61) Less (1) Sass (1) Tailwind CSS (1) CSSフレームワーク (1) リセットCSS (1) プログラミング言語 JavaScript (42) TypeScript (1) Java (26) Perl (6) PHP (14) Ruby (11) Python (14) Go言語
迷路自動生成アルゴリズム プログラムによる迷路の自動生成の解説ページです。 どちらかというと大きな迷路を生成する事に興味があり、ゲームソフトで使われる迷路とは観点が異なっています。 下記のソフトをダウンロードして実行すると、棒倒し法と穴掘り法と壁延ばし法の実際の迷路の生成動作を見ることができます。 ダウンロード(Windows用ソフト) 249Kバイト 1.はじめに 自動生成迷路はの基本形は方形座標上で、各マスが壁または道から成り立っています。 このデータはプログラム上も2次元配列で簡単に作れ、各マスが壁か道かだけを覚えていればいいので、表現も簡単です。 またこれを画面に反映する際も、道や壁を適当なアイコンに置き換えればいいので、比較的簡単にゲームに使えます。 道の幅は通常1マスです。 2.棒倒し法 棒倒し法は、比較的プログラミングの楽な迷路生成法です。 最初に基本となる四角の外壁と、その
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く