コード例 #1
0
ファイル: GBuffer.cpp プロジェクト: CodeAsm/open-sauce
		HRESULT		c_gbuffer_rtclear_effect::AllocateResources(IDirect3DDevice9* device, uint32 width, uint32 height)
		{
			c_gbuffer_fullscreen_effect::AllocateResources(device, width, height);

			m_multi_rt.clear_technique = GetTechnique(m_effect, m_multi_rt.count, "Clear", "ALL");

			return (IsAvailable() ? S_OK : E_FAIL);
		}
コード例 #2
0
ファイル: hmd_openhmd.cpp プロジェクト: tweakoz/vrx
void Context::GfxUpdate()
{
    this->Update();

    if( gGFXINIT )
    {
        gGFXINIT = false;

        auto fxi = gfxtarget.FXI();

        fx_distort = new lev2::FxShader;
        fxstring256 shader_path;
        shader_path.format("data/distort.glfx");
        fxi->LoadFxShader( shader_path.c_str(), fx_distort );

        tek_distort = fxi->GetTechnique(fx_distort,"tek_distort");

        assert( tek_distort!=nullptr );
        bool ok = fxi->BindTechnique(fx_distort,tek_distort);
        assert(ok);

        par_mvp = fxi->GetParameterH( fx_distort, "mtx_wvp" );
        par_texms = fxi->GetParameterH( fx_distort, "ImageMS" );

        par_llctr = fxi->GetParameterH( fx_distort, "LeftLensCenter" );
        par_rlctr = fxi->GetParameterH( fx_distort, "RightLensCenter" );
        par_lsctr = fxi->GetParameterH( fx_distort, "LeftScreenCenter" );
        par_rsctr = fxi->GetParameterH( fx_distort, "RightScreenCenter" );


        par_fbosiz = fxi->GetParameterH( fx_distort, "FboSize" );
        par_cbufsiz = fxi->GetParameterH( fx_distort, "CompbufferSize" );
        par_chromab = fxi->GetParameterH( fx_distort, "chromab" );

        assert( par_mvp!=nullptr );
        assert( par_texms!=nullptr );
        assert( par_llctr!=nullptr );
        assert( par_rlctr!=nullptr );
        assert( par_lsctr!=nullptr );
        assert( par_rsctr!=nullptr );

        assert( par_fbosiz!=nullptr );
        assert( par_cbufsiz!=nullptr );
        assert( par_chromab!=nullptr );

        //////////////////////////////////////////

        mrt_l = new RtGroup(&gfxtarget,fbo_w,fbo_h,8);
        mrt_r = new RtGroup(&gfxtarget,fbo_w,fbo_h,8);
        fbo_left = new RtBuffer(mrt_l,ETGTTYPE_MRT0,EBUFFMT_RGBA32,fbo_w,fbo_h);
        fbo_left->mClearColor = fvec4(0,0,.1,1);
        fbo_right = new RtBuffer(mrt_r,ETGTTYPE_MRT0,EBUFFMT_RGBA32,fbo_w,fbo_h);
        fbo_right->mClearColor = fvec4(.1,0,0,1);
        //////////////////////////////////////////
    }
}
コード例 #3
0
peBool proVertBuff::Create(const char* technique, PRO_PRIMITIVE primitive, peInt size)
{
	m_Primitive = primitive;
	m_Technique = GetTechnique(technique);
	m_VertSize = GetTechniqueSize(m_Technique);
	m_VertFormat = GetTechniqueFormat(m_Technique);	
	m_Size = size;	
	m_MemoryYield = GetYield(m_Primitive, m_Size);
	
	if( FAILED( g_pAppDef->d3dDevice->CreateVertexBuffer(m_Size*m_VertSize, 0, m_VertFormat, D3DPOOL_DEFAULT, &m_pVertBuffDef->m_vertBuffD3D, NULL) ) )
	{
		assert(0);
		return false;
	}
	return true;
}
コード例 #4
0
ファイル: Material.cpp プロジェクト: GlenDC/tt--Engine
void Material::SetActiveTechnique(const std::tstring& name)
{
	m_pActiveTechnique = GetTechnique(name);	
}
コード例 #5
0
ファイル: Material.cpp プロジェクト: GlenDC/tt--Engine
void Material::SetActiveTechnique(unsigned int index)
{
	m_pActiveTechnique = GetTechnique(index);		
}