public D3dManager createD3dManager(Form i_form) { D3dManager result; result=new D3dManager(i_form, this._ar_param, -1); Matrix tmp = new Matrix(); NyARD3dUtil.toCameraFrustumRH(this._ar_param,10,10000,ref tmp); result.d3d_device.Transform.Projection = tmp; return result; }
public ID3dBackground createBackGround(D3dManager i_d3dmgr) { switch(this._background_type){ case BGMODE_SURFACE: return new D3dSurfaceBackground(i_d3dmgr.d3d_device, i_d3dmgr.background_size.Width,i_d3dmgr.background_size.Height); case BGMODE_TEXTURE: return new D3dTextureBackground(i_d3dmgr.d3d_device, i_d3dmgr.background_size.Width, i_d3dmgr.background_size.Height,i_d3dmgr.scale); default: throw new Exception("unknown this._background_type"); } }
public D3dManager createD3dManager(Form i_form) { D3dManager result; result = new D3dManager(i_form, this._ar_param, -1); Matrix tmp = new Matrix(); NyARD3dUtil.toCameraFrustumRH(this._ar_param, 10, 10000, ref tmp); result.d3d_device.Transform.Projection = tmp; return(result); }
public ID3dBackground createBackGround(D3dManager i_d3dmgr) { switch (this._background_type) { case BGMODE_SURFACE: return(new D3dSurfaceBackground(i_d3dmgr.d3d_device, i_d3dmgr.background_size.Width, i_d3dmgr.background_size.Height)); case BGMODE_TEXTURE: return(new D3dTextureBackground(i_d3dmgr.d3d_device, i_d3dmgr.background_size.Width, i_d3dmgr.background_size.Height, i_d3dmgr.scale)); default: throw new Exception("unknown this._background_type"); } }
public Test_NyARRealityD3d_ARMarker(Form1 topLevelForm, ResourceBuilder i_resource) { this._capture = i_resource.createWmCapture(); this._capture.setOnSample(this); this._d3dmgr = i_resource.createD3dManager(topLevelForm); this._back_ground = i_resource.createBackGround(this._d3dmgr); this._d3dcube = new ColorCube(this._d3dmgr.d3d_device, 40); //ARラスタを作る(DirectShowキャプチャ仕様)。 this.m_raster = i_resource.createARRaster(); //AR用のパターンコードを読み出 //マーカライブラリ(ARTKId)の構築 this._mklib = new ARTKMarkerTable(10, 16, 16, 25, 25, 4); //マーカテーブルの作成(1種類) this._mklib.addMarker(i_resource.createNyARCode(), 0, "HIRO", 80, 80); //Realityの準備 this._reality = new NyARRealityD3d(i_resource.ar_param, 10, 10000, 1, 5); this._reality_source = new NyARRealitySource_WMCapture(SCREEN_WIDTH, SCREEN_HEIGHT, null, 2, 100); }
public Test_NyARRealityD3d_ARMarker(Form1 topLevelForm, ResourceBuilder i_resource) { this._capture = i_resource.createWmCapture(); this._capture.setOnSample(this); this._d3dmgr = i_resource.createD3dManager(topLevelForm); this._back_ground = i_resource.createBackGround(this._d3dmgr); this._d3dcube = new ColorCube(this._d3dmgr.d3d_device,40); //ARラスタを作る(DirectShowキャプチャ仕様)。 this.m_raster = i_resource.createARRaster(); //AR用のパターンコードを読み出 //マーカライブラリ(ARTKId)の構築 this._mklib = new ARTKMarkerTable(10, 16, 16, 25, 25, 4); //マーカテーブルの作成(1種類) this._mklib.addMarker(i_resource.createNyARCode(), 0, "HIRO", 80, 80); //Realityの準備 this._reality = new NyARRealityD3d(i_resource.ar_param, 10, 10000, 1, 5); this._reality_source = new NyARRealitySource_WMCapture(SCREEN_WIDTH, SCREEN_HEIGHT, null, 2, 100); }