C++

忘れやすいオーバーロードメモ。

C++

struct HogeInfoHolder { HogeInfo* _p; HogeInfoHolder(HogeInfo* p) : _p(p) {} ~HogeInfoHolder() { delete _p; } // 間接参照演算子のオーバーロード HogeInfo& operator * () { return *_p; } const HogeInfo& operator * () const { return *_p; } // …

Direct3D10でライティングやってみた。

これまたDirect3D9なら、カンターンに出来た事なんだけど・・・ Direct3D10からは、ライティングやマテリアル周りの構造体は廃止されて、 全部シェーダにゆだねられるようになっちまいました。 という事でライトを当てるだけでも一苦労・・・。 //// MyShader.fx..…

Direct3D10で深度/ステンシルバッファを作ってみた。

前回の記事では、ライティングが全くされていなかったので目立たなかったけど、 (DXUTCreateTeapotで頂点カラーが設定されていたので) 頂点カラーをちゃんと出すようにしたら、ポリゴンの前後関係が めちゃくちゃになって見えた(当たり前)ので、 深度/ス…

Direct3D10でティーポットを出してみた。

まず初めに…Direct3D10は… うへあ('A`) って感じ。 まあ自分にシェーダの知識がないってのもだいぶうへあになる原因なんだけど…。 ティーポットを出すだけですっごい苦労した。 前の記事のMyApp.h,MyApp.cppにコードを付け加える形で、 色々コードをメモって…

Direct3D10をちょっとやってみた。

会社で。遊びじゃないですよ。研究研究。 だって会社のマシンだけだもんVistaは・・・。/** @file MyApp.h Direct3D10アプリケーションのスケルトンプログラム @author Dila */#pragma once// この辺は自作ライブラリなので気にしない。 #include "Windows/Main…

TR1ちょっとやってみた@regex

自宅にもVC++9Express入れちゃった。 無料でVC++が使えるなんていい時代になったもんだよなぁ。 ↓のは、簡易な、変数宣言の構文かどうかを調べるプログラム。 全然完全なモノじゃないのであしからず。#include #include using namespace std;bool MatchVarDe…

TR1ちょっとやってみた@type_traits

今日は仕事してないんじゃないかぐらいの勢いでPOSTしてますが。 TR1で遊んでみる事が仕事なのさ。多分。だって職場しかVS2008ないんだもの。 つーことで、以下のは、type_traitsを使ってバッファの破棄処理を スカラー型/非スカラー型で分岐させた自作配列…

TR1ちょっとやってみた@shared_ptrその2

実はboostまともに使った事が無かったんで、 循環参照( ゚Д゚)ハァ?って感じでした。 という事でどっかからサンプル引っ張ってきてやってみた。#include #include // for std::tr1::shared_ptrusing namespace std::tr1;class Hoge { int _val; public: shared_p…

TR1ちょっとやってみた@shared_ptrその1

といってもまだ shared_ptr だけですが。#include #include // for std::tr1::shared_ptrusing namespace std::tr1;class Hoge { int _val; public: Hoge(int val) : _val(val) { std::cout hoge[" } ~Hoge() { std::cout hoge[" } void Say() { std::cout h…

constメソッド

C++

#include class Int { int _value; public: Int() : _value(0) {} int& Value() { return _value; } const int& Value() const { return _value; } };main() { Int i; int& val = i.Value(); // int& Int::Value() が呼び出される const Int k; const int& c…

C++を理解していない。

C++

#include class A { public: virtual ~A() { std::cout } virtual void Do() { std::cout } };class B : public A { public: ~B() { std::cout } void Do() { std::cout } };class C : public B { public: ~C() { std::cout } void Do() { std::cout } };mai…

線分を描く

DirectGraphicsのリファレンスページが見れなくなったぞゴラー! という事で調べようとしていた線分を描く関数がわからなかったので o-plus氏に聞きました。ネ申! struct MYVERTEX { FLOAT x, y, z; DWORD color; };#define D3DFVF_MYVERTEX(D3DFVF_XYZ|D3DFV…

射影変換行列

最近は新しい会社での為に3Dを勉強し直していて、 自作のベクトルクラスや行列クラスを作ったりしている。 色々やっていて一番謎だった行列が、射影変換行列。 DirectGraphicsでは、D3DXMatrixPerspectiveFovLHとして 用意されていて、以下の様な行列とな…

無名構造体、無名共用体

C++

今頃存在を知りました。C++プログラマ大失格だよもん。 どちらも、メンバ変数が宣言と同じスコープになるという代物。 void func() { // 無名構造体 struct { int a; int b; }; a = 0; // 関数のスコープでアクセス出来る! b = 1; }関数は宣言出来ないそう…