Вниз
Скачать: CL | DM;

Как в OpenGL повысить яркость   Найти похожие ветки 

 
Agent[007] ©   (2004-09-07 23:02) [0]

subj.


 
miek   (2004-09-08 08:10) [1]

Яркость чего?
subj


 
Agent[007] ©   (2004-09-08 17:39) [2]

Изображения... Кроме способа с уменьшением\увеличением цвета...


 
miek   (2004-09-10 08:09) [3]

Кроме частных способов - только через API, SetDeviceGammaRamp.


 
XProger ©   (2004-09-11 03:42) [4]


// получение текущей гаммы
function xglGamma_Get: integer;
var
ramp : array [0..256 * 3 - 1] of WORD;
rgb  : array [0..2] of double;

sum   : double;
count : integer;
min   : integer;
max   : integer;
A, B  : double;
i, j  : integer;
begin
rgb[0] := 1;
rgb[1] := 1;
rgb[2] := 1;

GetDeviceGammaRamp(DC, ramp);
// проходим по цветам в rgb
for i := 0 to 2 do
begin
sum   := 0;
count := 0;
min   := 256 * i;
max   := min + 256;
// разбираем формулу из xglGamma_Set
for j := min to max - 1 do
 if ramp[j] > 0 then
  begin
  B := (j mod 256)/256;
  A := ramp[j]/65536;
  sum := sum + ln(A)/ln(B);
  inc(count);
  end;
rgb[i] := sum / count;
end;

Result := 100 - trunc(((rgb[0] + rgb[1] + rgb[2])/3 - 0.23) * 100/(2.7 - 0.23));
end;

// установка гаммы (0 - темно 100 - ярко)
procedure xglGamma_Set(gamma: integer);
var
ramp : array [0..256*3 - 1] of WORD;
i    : integer;
r    : double;
g    : double;

function Pow(x, y: double): double;
begin
Result := exp(y * ln(x));
end;

begin
xglGamma := gamma;
g := (100 - gamma)*(2.7 - 0.23)/100 + 0.23;

for i := 0 to 255 do
begin
r := pow(i/256, g)*65536;
if r < 0 then
 r := 0
else
 if r > 65535 then
  r := 65535;

ramp[i]       := trunc(r);
ramp[i + 256] := trunc(r);
ramp[i + 512] := trunc(r);
end;

SetDeviceGammaRamp(DC, ramp);
end;


 
OSokin ©   (2004-10-08 20:24) [5]

Если юзаешь текстуры - достаточно просто выключением/включением режима текстурирования



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
1-1104098039
Arsn55
2004-12-27 00:53
2005.01.16
чтение *.doc


14-1104045972
Лох(
2004-12-26 10:26
2005.01.16
13 % от зарплаты (при договоре), куда они идут?


14-1103953244
DelphiN!
2004-12-25 08:40
2005.01.16
Отладка DLL в Delphi 6, в Windows 2003 standart


1-1104212175
Mate_ru
2004-12-28 08:36
2005.01.16
параметры


1-1104485183
гость
2004-12-31 12:26
2005.01.16
Подскажите в чем ошибка




   Наверх