d3dx9 紅龍書 19章 例子1

從網上下了全書代碼中這個例子就是錯的,他在display裏

LightTexEffect->Begin(&numPasses, 0);

	for(int i = 0; i < numPasses; i++)
	{
		LightTexEffect->BeginPass(i);

		for(int j = 0; j < Mtrls.size(); j++)
		{
			Mesh->DrawSubset(j);
		}

		LightTexEffect->EndPass();
	}
少了 LightTexEffect->EndPass();

這個錯誤還是相當隱蔽的,因爲這個例子恰好就一個pass,如果你不多次訪問 

D3DXVECTOR3 position( cosf(angle) * 10.0f, height, sinf(angle) * 10.0f );
D3DXVECTOR3 target(0.0f, 0.0f, 0.0f);
D3DXVECTOR3 up(0.0f, 1.0f, 0.0f);
D3DXMATRIX V;
D3DXMatrixLookAtLH(&V, &position, &target, &up);

LightTexEffect->SetMatrix(ViewMatrixHandle, &V);

就矇混過關了

還有就是HLSL的代碼有些變量好像不分大小寫!!

發佈了35 篇原創文章 · 獲贊 8 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章