hy,
ich wollte mir heute die gammawerte meiner anwendung ausgeben lassen.
zu beginn klappte das auch wunderbar.
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
|
D3DGAMMARAMP pRamp;
m_pD3Ddev->GetGammaRamp(0,&pRamp);
for(int nloop = 0;nloop<=256;nloop++)
{
add_log("Gamma Red %i = %i",nloop,pRamp.red[nloop]);
add_log("Gamma Green %i = %i",nloop,pRamp.green[nloop]);
add_log("Gamma Blue %i = %i",nloop,pRamp.blue[nloop]);
}
|
in der logdatei waren sechsstellige werte von pRamp.Farbe[nloop].
Gamma Red 0 = 142254
Gamma Green 0 = 285444
Gamma Blue 0 = 135599
Gamma Red 1 = 142254
Gamma Green 1 = 285444
Gamma Blue 1 = 135599
als ich dann versuchte habe die gammawerte zu ändern wurde die anwendung schwarz.
|
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
|
if(GetAsyncKeyState(VKEY_G)&1==1)
{
m_GammaRed++;
m_GammaGreen++;
m_GammaBlue++;
}
if(GetAsyncKeyState(VKEY_H)&1==1)
{
m_GammaRed--;
m_GammaGreen--;
m_GammaBlue--;
}
for(int nloop = 0;nloop<=256;nloop++)
{
pRamp.red[nloop] = m_GammaRed;
pRamp.green[nloop] = m_GammaGreen;
pRamp.blue[nloop] = m_GammaBlue;
}
if(bGamma)
SetGammaRamp(0,Flag,&pRamp);
|
ok is ja nicht schlimm.
aber als ich dann in die logdatei geschaut hab kapier ich jetzt gar nichts mehr.
selbst wenn ich mir nur die werte ausgeben lasse ohne zu versuchen sie zu ändern und die anwendung vollkommen normal läuft steht in der log
Gamma Red 0 = 0
Gamma Green 0 = 0
Gamma Blue 0 = 0
Gamma Red 1 = 1
Gamma Green 1 = 1
Gamma Blue 1 = 1
.........
Gamma Red 255 = 255
Gamma Green 255 = 255
Gamma Blue 255 = 255
Gamma Red 256 = 0
Gamma Green 256 = 0
Gamma Blue 256 = 221806
ich versteh die welt nicht mehr warum gibt mir die anwendung nur noch müll aus obwohl es zuerst wunderbar geklappt hat?