Das heißt dann wohl das der DirectX Standartfilter und nicht der von der TriBase zum Einsatz kommt.
Klingt eigentlich logisch. Jetzt muss ich nur noch herausfinden warum! Aber danke schon mal für den Tipp.
Das soll wohl ein Witz sein Confused
Das war eher so gemeint das ich Aufrufe wie
Video->Process();
Video->NextFrame();
auskommentieren kann und das Ergebnis bleibt gleich. Ein Objekt anlegen und Video->Init(<PFAD>); aufrufen muss ich natürlich schon machen.
Übrigends, was steht in der Logdatei
In der Log-Datei sind keine Nachrichten die nicht von der Initialisierung sind. Also nichts was auf das Problem schließen lässt.
Ich poste mal Auszüge des Codes, vielleicht wirds dann verständlilcher.
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
tbResult CIntro::Load()
{
m_vIntro = new tbVideo;
if(m_vIntro->Init("Data\\intro.avi")) TB_ERROR("Error beim Laden", TB_ERROR);
if(m_vIntro->Play(FALSE)) TB_ERROR("Error beim abspielen", TB_ERROR);
m_vIntro->NextFrame();
return TB_OK;
}
tbResult CIntro::Move(float fTime)
{
if(!m_vIntro->IsPlaying())
g_pVirtualSchool->SetSimulationState(GS_MAIN_MENU);
m_vIntro->Process();
m_vIntro->NextFrame();
return TB_OK;
}
tbResult CIntro::Render(float fTime)
{
STitleVertex aVertex[4];
m_pTitle = m_vIntro->GetRenderer()->GetTexture();
// Puffer leeren und Szene beginnen
tbDirect3D& D3D = tbDirect3D::Instance();
D3D->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, tbColor(0.0f, 0.0f, 0.0f), 1.0f, 0);
D3D->BeginScene();
// ------------------------------------------------------------------
// Vertexformat und Titelbildtextur setzen, Z-Buffer aus
D3D.SetTexture(0, m_pTitle);
...
// Die vier Vertizes des Titelbilds erstellen (Rechteck)
...
// Als Dreiecksfolge zeichnen
D3D->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, aVertex, sizeof(STitleVertex));
// Szene beenden
D3D->EndScene();
return TB_OK;
}
|