せっかくだから俺はプログラマの道を選ぶぜ@wiki内検索 / 「Programその他」で検索した結果

検索 :
  • オススメな本
    オススメする本の一覧 まだまだ,たくさんあるので随時追加します!!気が向いたらレビューの方も追加します. メンバーの方も編集できるのでどんどん追加してください!! プログラム系 C,C++ プログラム言語C プログラム言語C++第3版 Effective C++ 第3版 Exceptional C++ Efficient C++ Modern C++ Design―ジェネリック・プログラミングおよびデザイン・パターンを利用するための究極のテンプレート活用術 C++ Coding Standards --101のルール,ガイドライン,ベストプラクティス-- C++標準的コーディング技法 STL―標準テンプレートライブラリによるC++プログラミング C++標準ライブラリの使い方完全ガイド STL標準講座 Effective STL 大規模C++ソフトウェアデザイ...
  • GoogleTest_testmain.cpp
    #include "gtunit.h"   GT_TEST_FUNC(TEST1, Test1) { new int; // メモリリーク }   class Foo public GT_FORM { protected int m_num;   public Foo() m_num( 0 ) { }   void Print() { std cout m_num std endl; } };   GT_TEST_CLASS(Foo, Print) { m_num = 100;   Print();...
  • LightBloom 非MT ver
    報告・意見箱のほうで、マルチレンダーターゲットを使わない方法はないのかと質問されたので作ってみました。 大部分は変わらないので、変更点のみ記載をします。 まずは、ブリンフォンシェーダーの変更点です。 ピクセルシェーダーとテクニックの追加のみです。 //ピクセルシェーダー float4 ps_main_diffuse( PS_INPUT input, uniform float4 Ambient, uniform float4 Diffuse, uniform float4 Ka, uniform float4 Kd, ) COLOR0 { //ライトベクトルの正規化 float3 L = normalize( input.light ); //法線の正規化 float3 N = normalize( input.normal ); //ディフーズ floa...
  • NUnitソースコード
    /*Program.cs*/ using System; using System.Collections.Generic; using System.Text;   namespace CalcApplication { class Program { static void Main( string[] args ) { } } }   /*Calc.cs*/ namespace CalcApplication { // 四則演算クラス public class Calc { // 足し算 public int Add( int v1, int v2 ) { return v1 + v2; }   // 引き算 public int Subtract( int v1, int v2 ) { return...
  • Lambert
    ランバートシェーダーは、拡散照明の陰影処理を行うための、シェーダーで、 視線方向に依存しない光源の入射方向(面から光源方向へのベクトル)と面の向き(法線)だけあれば実装できるシェーダーです。 ごつごつした岩や、木材などを表現することはできますが、プラスチックなどのハイライトの出る物体を表現することはできません。 ランバートシェーダーでは、ランバートの余弦則  「その地点の明るさは、面の向きを光の入射方向が織り成す角度θのCOSθに比例する」と定義されています。 数式にあらわすと   I = Id * Kd * cosθ = Id * Kd * (N・L)    となっています。 記号の意味は   Id = 光の強さ   Kd = 反射係数   θ = 入射角   N = 法線ベクトル   L = ライトベクトル 解説は、このあたりに...
  • TextureMap
    今回は、入門的なシェーダーを行います。 シェーダーでテクスチャマッピングを行います。 シェーダーでテクスチャマッピングを行うには、 テクスチャとテクスチャ座標が必要になります。 テクスチャとテクスチャ座標をシェーダーに渡してしまえば、 後は、ピクセルシェーダーでtex2Dという関数を使いポリゴンに貼り付けるだけです。 テクスチャの読み込み用の補助クラスをトゥーンの最後のほうに置いてあるのでzipをダウンロードして フォルダ内のTGATexture.hとTGATexture.cppをプロジェクトに追加してください。 テクスチャの読み込みやテクスチャをシェーダーに渡す方法などは、トゥーンシェーダーを参考にしてください。 今までどおりにトーラスを表示するとテクスチャは張られないので今回は 板ポリゴンを表示してテクスチャを張りますので描...
  • Cook-Torrance
    今回は、金属の反射をシミュレートするcook-torranceを実装します。 Beckmann分布関数、幾何学減衰率とフレネル項を使って表現しています。 説明すると、数式ばかりになってしまうので、細かい説明は省きます。 以下、実装 //グローバル変数宣言 float4x4 world;// ワールド行列 float4x4 view;// ビュー行列 float4x4 projection;// 透視変換行列 float3 light = float3( 10.0f, 10.0f, 10.0f ); // ライトの位置 //入力頂点構造体 struct VS_INPUT { float4 position POSITION; //頂点座標 float3 normal NORMAL;//法線ベクトル float4 color ...
  • Google Test(C++テストフレームワーク)
    【テストフレームワークとは?】 プログラムのテストは 1.単体テスト   ・クラスやメソッドなど一部のモジュール・アルゴリズムの動作テスト 2.結合テスト   ・単体テスト済みのモジュールの組み合わせの動作テスト 3.システムテスト   ・機能だけでなく、性能など非機能要求も含めたシステム全体の動作テスト 主に三つに分類されます。 テストフレームワークは 各テストを視覚的、効率的にするために開発されているプログラムです。 【Google Testとは?】 Googleの社内で開発されたC++テストフレームワーク マルチプラットホームに開発されているなど、かなり使い勝手のよいものです。 オープンソースなので興味のある方はダウンロードしてみてください。 【コード】 gtunit.h gttest.h alloca...
  • Phong
    今回は、 プラスティックなどの光の反射をシミュレートできる フォンシェーダーを実装します。 基本的には、  ランバートシェーダーの実装 + 鏡面反射の計算を行うだけです。 細かい解説は、Wikipediaの方に投げてしまおうと思います。 http //ja.wikipedia.org/wiki/Phong%E3%81%AE%E5%8F%8D%E5%B0%84%E3%83%A2%E3%83%87%E3%83%AB 以下 実装 //グローバル変数宣言 float4x4 world;// ワールド行列 float4x4 view;// ビュー行列 float4x4 projection;// 透視変換行列 float3 light = float3( 10.0f, 10.0f, 10.0f ); // ライトの位置 //入力頂点構造体 st...
  • DepthShadow
    今回は、もっとも基本的な影生成を行います。 深度バッファを使った、影生成の中でも比較的簡単なものです。 深度値を比較して、影かどうか比較するだけなので、 影の境界がはっきりとしており、深度バッファの解像度によってはシャギーが出てしまいます。 また、深度バッファの解像度も、GPUの世代や性能によって確保できるサイズが限られますので注意が必要です。 今回は1024*1024のサイズでバッファを確保していますので、GeForce7シリーズ以降なら動作は軽いと思います。 以下実装 深度バッファの生成シェーダー //グローバル変数宣言 float4x4 world;// ワールド行列 float4x4 view;// ビュー行列 float4x4 projection;// 透視変換行列 //入力頂点構造体 struct VS_INPUT { float...
  • Blinn-Phong
    今回は、 Phongシェーダーの改良版である  Blinn-Phongシェーダーを実装します。 Phongシェーダーは反射ベクトルを求めるのですが、 環境によっては、反射ベクトルを計算するのが大変らしい(?)ので、 ライトベクトルと視線ベクトルの中間の角度にあるベクトルで計算するのが BlinnPhongシェーダーです。 以下 実装 //グローバル変数宣言 float4x4 world;// ワールド行列 float4x4 view;// ビュー行列 float4x4 projection;// 透視変換行列 float3 light = float3( 10.0f, 10.0f, 10.0f ); // ライトの位置 //入力頂点構造体 struct VS_INPUT { float4 position POSITION; //...
  • Toon
    今回は、Toonシェーダーを実装します。 Toonシェーダーは、3Dモデルをアニメ調に見せるためのシェーダーです。 アニメや漫画が原作のゲームでよく使われています。 詳しい解説は、wikipediaに・・・・ http //ja.wikipedia.org/wiki/%E3%83%88%E3%82%A5%E3%83%BC%E3%83%B3%E3%83%AC%E3%83%B3%E3%83%80%E3%83%AA%E3%83%B3%E3%82%B0 以下、実装 //グローバル変数宣言 float4x4 world; float4x4 view; float4x4 projection; float3 light = float3( 10.0f, 10.0f, 10.0f ); // ライトの位置 sampler2D diffuseTextur...
  • Xmlを使いませう ソースコードcpp
    #using System.Xml.dll #using System.dll   #include string #include vector   using namespace System; using namespace System Xml; using namespace System Xml Serialization; using namespace System IO; using namespace System Collections Generic;   ref class Address; ref class OrderedItem;   [Serializable()] public ref class Bone { public [Xml...
  • LightBloom
    今回は、ライトブルームの記事を載せます。 基本的なものは、ブラーの処理を少し変更しただけなので 変更点のみ載せようと思います。 今回は、ブラーのときとは違いレンダーターゲットを二枚使用します。 設定の仕方はOpenGLでMultiRenderTargetを参照してください その辺の変更点と、ブリンフォンシェーダーの変更点のみです。 ブラーの処理はまったく一緒なのでそのまま流用できます。 以下、変更点など。 ブリンフォンシェーダーの変更点は ピクセルシェーダーのみです。 ブリンフォンシェーダー 変更点 //ライトカラー float4 Ambient = float4( 1.0f, 1.0f, 1.0f, 1.0f ); float4 Diffuse = float4( 1.0f, 1.0f, 1.0f, 1.0f ); float4...
  • RadialBlur
    今回は、放射ブラーを載せます。 このブラーは、放射状にブラーをかけるエフェクトです。 爆発エフェクトで使用したりなど、使い道は多いです。 今回のシェーダーはピクセルシェーダーのみを使います。 モデルの描画などにブリンフォンシェーダーを使っているので そちらを流用してください。 放射ブラー //グローバル変数宣言 float center; float texelSize; float blurPower = 50.0f; sampler2D target; //入力ピクセル構造体 struct PS_INPUT { float2 texcoord TEXCOORD0; //テクスチャ座標 }; //ピクセルシェーダー float4 ps_main( PS_INPUT input, uniform float2 center, unifo...
  • Blur
    今回はブラーの記事を載せます。 画面をぼかす処理はいろいろと使い道があるので知っておいたほうが良いです。 HDR系の処理や、被写界深度を表現するとき、シャギーが目立つときに軽くかけたりなど… 使い道はさまざまです。 ブラーをかけるには、一度シーンをレンダーターゲットに描画しなければなりません。 高度なシェーダーエフェクトをかけるときは、複数のレンダーターゲットを使うこともあるので 今回は管理が楽だったりします。 ブラーをかける前の描画には、ブリンフォンを使用しているので ブリンフォンシェーダーはそちらから持ってきてください。 前回から、シェーダー管理クラスを使うようになったので、ブリンフォンシェーダーの使い方が違うので メインプログラムのほうも載せておきます。 以下実装。 ブラーシェーダープログラム //グローバル変数宣...
  • BumpMap
    今回は、バンプマッピングを載せます。 バンプマッピングは、凹凸の無い平面をライティングによって 凹凸があるかのように見せる技術です。 バンプマッピングを行うのに2種類のテクスチャが必要になります。 法線情報をテクスチャに書き込んだ法線マップとデカールテクスチャが必要になります。 デカールテクスチャ 例 法線テクスチャ 例 法線テクスチャを自分で作るのは面倒なので 自分はGIMPというフリーソフトの法線マップを出力するツールを使っています。 http //nifelheim.dyndns.org/~cocidius/normalmap/ 以下実装 バンプマッピング //グローバル変数宣言 float4x4 world; //ワールド行列 float4x4 view; //ビュー行列 float4x4 pro...
  • CrossFilter
    今回は、クロスフィルタを載せます。 今回も、ピクセルシェーダーのみを使います。 このシェーダーは、きらきらと光るものを表現するために使われます。 例を出すと、車のヘッドライトや、金属の反射などを表現することができます。 モデルの描画にブリンフォンを使っています。 少々以前紹介したブリンフォンシェーダーと違うので 差異のみ載せておきます ブリンフォン 差異 //入力ピクセル構造体 struct PS_INPUT { float4 color COLOR0; //色 float3 normal TEXCOORD1; //法線 float3 light TEXCOORD0; //ライトベクトル float3 view TEXCOORD2; //ビューベクトル float3 halfAngle TEXCOORD3; //二等分ベクトル }; ...
  • Xmlを使いませう ソースコードcs
    using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Xml.Serialization;   namespace Xml { [Serializable()] public class Bone { [XmlAttributeAttribute("BoneName")] public stringName;   [XmlElement("BoneID")] public intNum; public intParentID; }   [XmlRootAttribute("TestClass", IsNullable=false)]...
  • だるいの調査リスト
    タイトル:C言語 バスエラー 作成者:だるい 作成日:2011/03/26 以下のコードをとりあえず見てくれ・・・エラーが出るはず int main(int argc, int** argv) { // バスエラーとなる char* str = "abcde¥0"; str[0] = str[0] - 32; return 0; } 通常、ポインタの文字列は以下のサイトのように格納される。 参考URL: http //www.geocities.jp/ky_webid/c/031.html 最初に結論を言うと、strへ代入している文字列は、ポインタの先頭アドレスを代入しているだけになるので、 どこにメモリが確保されているか分からない。(不整列アドレス(?)になっている) なので、上記のコードのようにするとバスエラーが発生す...
  • PHP環境をインストール
    インストールの種類 1.ApacheとPHPなどを個別でインストールする方法 2.XAMPPフリーソフトウェアで,お手軽にインストールする方法 ちなにみ私は,必要ないモノをインストールしたくなかったから, 個別にインストールしたよ~ まぁ,色々と設定すんの面倒だったけど… ※開発は自分のPC環境をベースに考えているから,ご注意を! 個別のインストール 誰が通常と決めたのかは知らないが, まぁ,こっちが一般的なインストール方法でしょう~ Apacheダウンロード先:http //httpd.apache.org/download.cgi Win32 Binary without crypto (no mod_ssl) (MSI Installer)をダウンロードした. 2009/05/06では,apache_2.2.11-win32-x...
  • 命名規約
    命名規約 1 はじめに プログラミングをする際,変数や関数に名前を付ける.その変数や関数に適当な名前を付けてしまうと可読性が落ち, 見た目が悪くなる.効率的なプログラミングには,良い名前というのが非常に重要である. また,チームでの開発では,明確な名前の付け方がなければ,すぐさまソースコードが読解できなくなってしまう. そのような自体を避けるために,命名規約というものが存在する.本稿では,その命名規約について紹介する. 2 命名規約 命名規約[1]とは,プログラミングにおいてソースコード内の識別子に使われる文字列を決定する際に適応される規則である. ネーミング規則,ネーミング規約,命名規則とも呼ぶ.本稿では,命名規約と呼ぶことにする. 2.1 命名規約のメリット・デメリット 命名規約を使用することによって得られるメリットは多い. 開発チームで一貫したプロ...
  • Bullet その1 導入編
    #pragma warning( disable 4819 )   #define FREEGLUT_STATIC #include btBulletCollisionCommon.h #include btBulletDynamicsCommon.h #include BulletSoftBody/btSoftRigidDynamicsWorld.h #include BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.h #include boost/shared_ptr.hpp #include GL/freeglut.h #include iostream #include vector #include crtdbg.h   #ifdef _DEBUG #pr...
  • 新人SEシリーズ番外編04
    ファイルのアクセス権 基本的にUNIX/Linuxはファイルを共有する しかし、ファイルによっては人に見せたくないものもある そんなときにファイルのアクセスの制御を行う ファイルの詳細情報を確認するためのコマンド ls -l ファイル名(なくてもよい) 実行例( rw-r--r-- 1 user group 100 06月 30日 22時16分 FileName ①      ② ③  ④   ⑤     ⑥          ⑦ 少しずれるが平にご容赦を ①ファイルモード ②リンク数 ③ファイルの所有者 ④所属グループ(必ず1つ以上のグループに所属している) ⑤ファイルサイズ ⑥最終更新日時 ⑦ファイル名 少し書き直すとこんな形になる rwxrwxrwx リンク数 所有者 グループ ファイル...
  • GoogleTest_gtunit.h
    #ifndef __GTUNIT_H__ #define __GTUNIT_H__   #include "gttest.h" #include "allocator.h"   /*===============================================*/ /*new */ /*===============================================*/ //! @fn new //! @param [in] s サイズ //! @param [in] f ファイル //! @param [in] l ライン //! @return メモリ static void* operator new( size_t s, const char* f, int l ) throw...
  • シェーダー系
    このページでは主に、シェーダの実装のみを扱います。 OpenGLとnVidia Cg を使用した実装になります。 照明効果系 ランバート フォン ブリンフォン クックトランス トゥーン シャドー系 深度バッファシャドウ ソフトシャドウ HDR系 ライトブルーム ライトブルーム 非MT ver クロスフィルタ ゴッドレイ Global Illumination系 その他 ブラー 放射ブラー バンプマッピング パララックスマッピング 入門的な シェーダーでテクスチャを貼り付ける 空のプロジェクト 空のプロジェクトを載せておきます。 EmptyProject_Ver2.zip 古い空のプロジェクト EmptyProject.zip Visual Studio 2008とCg 2.0を使ってプロジェ...
  • 勉強会(2011/1/29)
    予定日時:2011/1/29(土) - 15 00~18 00 タイトル:初めてのライブコーディング in 柏 必須:PC+Ruby環境 参加者:アプレンティス@だるい、アプレンティス@ハヤブサ 1) ライブコーディングをやってみた 言語:Ruby その場で課題を決定 (内容が・・・ないよう)  →puts  →print  →printf  →while  →if  ※ 友人紹介用に簡単なプログラムを披露とか・・・カッコつけてみる ネット見ない 2) 読書リストの更新&交換 まぁ、おk・・・ 詳細は、各読書ページへよろ 3) アプリの名前を確定させる(予定) 名前は、チョコレートの菓子製品名に決定!! Ver1.0=「プラリネ(praline)」 例)ザッハトルテ、シェル・チョコレート、プラリネ ...
  • Bullet その8 バネジョイント
    Bulet その8はBulletで使えるジョイントのひとつである、バネジョイントを扱います。 バネジョイントは、その名の通りバネのような動きをするジョイントです。 追加のヘッダ #include BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.h 生成方法 btRigidBody body1; //剛体1 btRigidBody body2; //剛体2 btTransform local1; //剛体1のローカル行列 btTransform local2; //剛体2のローカル行列 btTypedConstraint* constraint = new btGeneric6DofSpringConstraint( body1, body2, local1, local2 ); ...
  • Bullet その9 トリガーボックス
    今回は、剛体をトリガーオブジェクトとして扱う方法を載せます。 剛体の生成方法は、その1かその2、その3を参考にしてください。 まずは、トリガーオブジェクトとして使うには、物体が固定されていて、ほかのオブジェクトと接触しないようにします。 float mass = 0.0f; //0を指定すると静的オブジェクトになる。 btRigidBody btRigidBodyConstructionInfo info( mass, ... ); btRigidBody* body = new btRigidBody( info ); // 接触応答をしないようにする。 body- setCollisionFlags( body- getCollisionFlags() | btCollisionObject CF_NO_CONTACT_RESPONSE ); // 上記のm...
  • GoogleTest_allocator.h
    #ifndef __ALLOCATOR_H__ #define __ALLOCATOR_H__   #include vector   /*===============================================*/ /*MemoryInfo */ /*===============================================*/ //! メモリ情報 struct MemoryInfo;   /*===============================================*/ /*IAllocator */ /*===============================================*/ //! メモリ生成者インターフェース class IAllocator { p...
  • 小ネタバックアップ1
    概要 プログラム,ビジネス,店...etc何でもいいんでネタになるものでも書いてください!! 小ネタ January 21. 2009 だるい VisualStudioでWin32アプリケーションを作りコンソール画面を表示する方法 [プロジェクトのプロパティ]→[リンカ]→[システム]→[サブシステム]で, Windows(/SUBSYSTEM WINDOWS)になっているのをコンソール(/SUBSYSTEM CONSOLE) に変更する.以上! January 29. 2009 だるい 印象付け みんな知ってると思うけど,一応書いておきます!! 自分が記憶に残そうとしても,脳がそのように認識しないと記憶には残らないのです!! ようは簡単に言えば,退屈なことは記憶しないということですwww 例( 本読んでると眠くなりませんか? つまらない会議は...
  • struts2 が分からない~3
    とりあえず、今日はstruts2を動作させるまで・・・ 動作をさせるための設定は面倒だったので多少言葉多めに書きましたが、ここからは超テキトーで書いてきます。(ホント自分用) まずは、libにstruts2を動作させるためのjarファイルを入れます。 ダウンロードしてきたstruts2は解凍していますか? 解凍していたらstruts2のディレクトリへ移動して下さい。 ↓「struts2が分からない1」の記事にあるときの最新バージョンをダウンロードしていた場合、多分パスはこんな感じ。 解凍したパス/struts-2.1.8.1-all/struts-2.1.8.1/lib 以下のjarファイルを commons-logging-1.0.4.jar commons-fileupload-1.2.1.jar freemarker-2.3.15.jar...
  • テスト・ファースト(NUnit)
    一覧に戻る 今回は,テストファーストをやってみたいと思う. 環境 VisualStudio2005 C# NUnit-2.4.8-net-2.0.msi TestDriven.Net ダウンロード場所 NUnit Download ←クリック 私の環境に合わせた方がいいと思うが,エラーが出なければいいので,お好きなバージョンを選んでもいいです. TestDriven.Net Download ←クリック メールアドレスと名前を入力しないといけなかったはずです. インストール方法 画像を順番に表示していきます. 手順1 実行ボタンをクリックする. 手順2 Nextボタンをクリックする. 手順3 チェックボックスにチェックして,Nextボタンをクリックする. 手順4 ...
  • 心理学・歴史学・法律・その他
    心理学とか、歴史についてとか、日本の憲法とか、社会人として生きていくための基本常識など 話のネタに使うも良し、少し賢くなった気になるも良し すべて知っているから優越感に浸るも良しのなぞのページ 心理学 武官による軍靴の音 歴史学 法律 厚生年金 消費税 雑学 メディアリテラシー IMFって何? February 21. 2009 だるい 未必の故意について調べたときに見つけたページなんだけど, 法律ならこことか→http //www.court-law-office.gr.jp/ 結構面白かったよ. February 21. 2009 ハヤブサ 時間があるときに読んでみます。ありがとう しかしこのページは、どんな方向に進んでいくのか書いている本人がわからないw
  • 自己紹介的なもの
    最初なので、自己紹介的なものをしておきます。 はじめまして、「タツ」といいます。 自分は、ゲーム関連の技術などを載せていきたいとおもいます。 参考程度に開発を行っているPCの環境を書いておこうと思います。 一台目 OS:Windows XP SP3 Fedora9 CPU Intel Core2 Duo T7200 2.0GHz GPU GeForce 7600 Mem 2.0GB 使用ソフトなど  VisualStudio 2005, 2008  XNA 2.0, 3.0  PhysX 2.8  Bullet 2.69  DirectX June 2008  nVidia Cg 2.0  TortoiseSVN 1.5  Python 2.5  Ruby 1.8  doxygen  Graphviz  サクラエデ...
  • OpenGLでMultiRenderTarget
    OpenGLでマルチレンダーターゲットを行うためのメモ ※OpenGLの拡張機能を使用しています OpenGLでMulti Render Target void init() { //テクスチャのバインド glGenTextures( 2, texture ); glBindTexture( GL_TEXTURE_2D, texture[0] ); glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, G...
  • 勉強会(2010/12/18)
    2010/12/18 勉強会 in 柏 - nano 主議題: 予定リスト チャット何使う? Andoridアプリについて(読書リスト) グループ名:イノベーション・ギルド 参加者:だるい(アプレンティス)、ハヤブサ(アプレンティス)                  ハ_ハ                  ( (゚∀゚∩ 情報共有・交換にしかなってない!!                 ヽ  〈                   ヽヽ_) 話した内容・・・ 1. 予定リスト だるいの予定リスト評価  →評価特に無い・・・ 2. チャット何使う? Google Talkをグループ用チャットに採用  →やる気があれば独自チャットシステム?(無理) 3. Andoridアプリについて(読書リスト...
  • 新人SEシリーズ04
    1.その日の仕事をその日に終わらせるために 先日,ITProで面白い記事を見たのでまとめておく 基本的にはタイトルの通りのことなのだが・・・ それは「遅延」についてである 自分が尊敬する人間の一人であるG.M.ワインバーグ様が 納期遅延について面白いことをおっしゃっていた 「遅延は1日ずつ生じる」とのことだ 2.自分の解釈 まとめ 色々な遅延があるのだろうが (ITProでは,提出物が不十分,決まらない会議,曖昧なヒアリングなどが書いてあった) 一つ一つはたいした遅延にはならないのだろう しかし,このような小さい遅延がそのときは大きな問題になると中々認識できなわけだ 一日ずつ蓄積してある日一週間や一月のまとまった量の遅延となる そしてようやく問題として認識するわけである 認識したときに手遅れにならないといいけれど・・・ ...
  • 調べた原則をまとめてみた
    せっかくだから,聞いたことのある原則,知っていた原則,調べた原則を書いてみた. 間違っているところは指摘してください. ソフトウェア原則 ソフトウェアに関する原則です. Ambler s Law of Standards(Amblerの標準化の法則) 標準化ガイダンスを再利用するためのスコープの法則です. 業界標準 組織標準 プロジェクト標準 個人標準 なし ということらしい.まぁ,大きいスコープを利用した方がいいだろ. Rod Johnsonの標準化の法則 ダメな標準があるのは,標準がないことよりもずっと悪いということらしい. YAGNI You Aren t Going to Need It.「それは必要にならない。」 多分いるだろうではなく,ほんとに必要になったときに必要なモノを作成する. the Low of De...
  • ハヤブサ
    ハヤブサさんのページ一覧 自己紹介のようなもの ハヤブサの作業リスト(2011/01/16) IT会社 IT業界って? IT系会社に入社前にやっておきたいこと IT系会社に入社前にやっておきたいこと(技術編) IT系プログラマーとオタク IT系 プロジェクト運営について ET系 Embedded Technology 雑学 時事一言 心理学・歴史学・法律・その他 達人プログラマへのキャズム 発信された情報をスーツ族は見る その他 某動画サイトで 乱読ノート 書くかもしれない項目
  • VarianceShadowMaps
    今回はソフトシャドウをやります。 ソフトシャドウの中でもVariance Shadow Mapsというのを今回は実装しました。 シャドウ生成技術メモにも書かれているように チェビチェフの不等式 というものを使います。 手順としては  深度バッファの作成。      ↓  深度バッファにブラーフィルターをかける。      ↓  ぼかした深度バッファを元にチェビチェフの不等式を使って影付けをする。 という手順になっています。 深度バッファシャドウに一部修正と追加を加えるだけなので変更点のみ載せます。 まずは、CreateDepth.cgfxの修正です。 float4 ps_main( PS_INPUT input ) COLOR0 { float color = input.depth.z / input.depth...
  • リンク
    リンク一覧 日本工学院八王子専門学校ゲームクリエイター科・クリエイティブラボラトリー科 管理人の通っている学校です. shader.jp ゲーム系に関する様々な技術や情報を扱っています. t-pot ゲーム系に関する技術が書いてあります.本職の偉大なゲームプログラマです. リンクフリーか分からないので名前だけ・・・ 634 - めざせへなちょこ 結構色々なことが書いてあります.このサイトみたいに充実している@wikiを目指したいですねwwww FrontPage - ゲームプログラミングwiki ゲームプログラミングについて色々と書いてあるページです.ゲームプログラマを目指すなら見て損はないと思います. Marverick Project シェーダについて非常に詳しく書かれています!!ゲームプログラマ必見です...
  • だるい日々の予定リスト
    ブログの記事を年間で300個作る (2011/4/25) PowerShellで業務の自動化を目指す  → PowerShellの基本構文まとめと速習 (済)(ブログ記事:http //blog.goo.ne.jp/darui_kara)   → ひと月以内にPowerShellで.NET Frameworkを呼び出す (済)    → ひと月以内にWindowの情報を収集するスクリプトを作る (2011/6/8) シェルスクリプトで業務の自動化を目指す  → 二週間以内にシェルスクリプトでディレクトリ一覧を表示&保存するスクリプト作成 (済)    いったい何の役に立つと言うのか・・・  → 突発的にシェルスクリプトで過去と現在のディレクトリ情報を比較するスクリプト作成 (済) cocoaでお試しアプリを作成する  → 参考:http //vivacocoa....
  • Bullet その四 ソフトボディ
    Bullet その四はソフトボディを扱います。 ソフトボディはパラメータの設定がたくさんあるのですが 今回はデフォルトのままでやります。 生成方法は以下の通りです。 追加のヘッダ #include BulletSoftBody/btSoftBodyHelpers.h 生成方法 std vector btVector3 vertices; //頂点データ std vector int indices; //インデックスデータ btSoftBodyWorldInfo worldInfo; //ワールド情報 worldInfo.m_broadphase = g_Boardphase.get(); worldInfo.m_dispatcher = g_CollisionDispatcher.get(); worldInfo.m_spar...
  • Bullet その5 ポイントジョイント
    Bulet その5はBulletで使えるジョイントのひとつである、ポイントジョイントを扱います。 ポイントジョイントは、ある点でつながれたジョイントで、特に制限はかけられません。 では、以下実装です。 追加のヘッダ #include BulletDynamics/ConstraintSolver/btPoint2PointConstraint.h 生成方法 btRigidBody body1; //剛体1 btRigidBody body2; //剛体2 btVector3 pivod1( 0.0f, -2.0f, 0.0f ); //剛体1からある点までの距離 btVector3 pivod2( 0.0f, 2.0f, 0.0f ); //剛体2からある点までの距離 btTypedConstraint* constraint = new b...
  • レンダリングディスクリプタ
    今回はレンダリング処理で使いまわしのできる ようにするものを書こうかと思います。 レンダリング関係のプログラムは 重複したコードをもっとも生む ところです。 重複したコードをできるだけ減らす努力をしたいものですね。 早速コードです // シェーダークラス class IShader { public     virtual ~IShader() {}          // パラメータ設定類 }; // レンダリングディスクリプタ class IRenderDesc { public     virtual ~IRenderDesc() {}        ...
  • GoogleTest_gttest.h
    #ifndef __GT_TEST_H__ #define __GT_TEST_H__   #pragma warning ( push ) #pragma warning ( disable 4512 ) #pragma warning ( disable 4127 ) #include gtest/gtest.h #pragma warning ( pop )   #ifdef _DEBUG #pragma comment ( lib, "gtest_maind.lib" ) #pragma comment ( lib, "gtestd.lib" ) #else #pragma comment ( lib, "gtest_main.lib" ) #pragma comment ( lib, &q...
  • だるい
    プロフィール 名前:秘密(意味があるのか?) 年齢:23歳 在住:埼玉県 職業:インフラ構築、プログラマ 趣味:趣味グラマ、コーヒー、LN 購読しているもの:月四冊の本,SoftwareDesign #twitter_widget_profile 作業 Diary だるい日々の読書ノート だるい日々の予定リスト だるいの調査リスト だるいの私的リンク だるいのダウンロードリスト 企画 牛久のワイン工場見学 ページ一覧 表示がおかしい部分の大部分は@wikiの仕様である 命名規約 設計の原則 テスト・ファースト(NUnit) 調べた原則をまとめてみた SerializeによるDeepCopy ChangeLogメモ PHP環境をインストール 新人SEシリーズ01 新人SEシリーズ02 新人SEシリーズ03 新人SEシリーズ04 ...
  • Bullet その7 ヒンジジョイント
    Bulet その7はBulletで使えるジョイントのひとつである、ヒンジジョイントを扱います。 ヒンジジョイントは、任意の軸を中心に回転することしか出来ないよう制限します。 ドアのような動きをします。 追加のヘッダ #include BulletDynamics/ConstraintSolver/btHingeConstraint.h 生成方法 btRigidBody body1; //剛体1 btRigidBody body2; //剛体2 btTransform local1; //剛体1のローカル行列 btTransform local2; //剛体2のローカル行列 btTypedConstraint* constraint = new btSliderConstraint( body1, body2, local1, local2 ); co...
  • 11月の日記ログ
    11月分の日記が,行数オーバーで一部消えてた.すんません. November, 25. 2008 非常に小学生な人達が寮にいました.多分,寮の外の人達でしょう. 風呂場から外に出て叫び声(奇声)を上げながら,三階を駆け回っていました. 正直思ったのですが,日本の将来は大丈夫なのか?あんなのが労働者階級の一柱を支えると思うと憂鬱です. どうか私が死ぬまで,私に関わることのないことを切に願います. ついでに社会を支えないでほしいですねw(><)愚痴を言ってすいませんでした. 名前 コメント ...
  • @wiki全体から「Programその他」で調べる

更新順にページ一覧表示 | 作成順にページ一覧表示 | ページ名順にページ一覧表示 | wiki内検索

ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。