Форум: "Игры";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];
Вниз
GLScene: переключение режимов рендеринга Найти похожие ветки
← →
miek © (2004-08-20 00:05) [0]Как менять установки рендеринга на лету? Мне нужно переключать режимы типа "high detail/low detail". Вот такая последовательность (см ниже) то работает, то падает с ошибкой Out of Memory.
glsceneviewer1.Visible:= false;
case setup.detail of
low:
begin
glcadencer1.Enabled:= false;
glscene1.BeginUpdate;
gllabel6.Caption:= "DETAIL LEVEL: LOW";
glsceneviewer1.Enabled:= false;
glsceneviewer1.Buffer.FogEnvironment.FogDistance:= fdEyePlane;
glshadowplane1.Visible:= false;
glsceneviewer1.Buffer.ColorDepth:= cd16bits;
glsceneviewer1.Buffer.DepthPrecision:= dp16bits;
glsceneviewer1.Buffer.AntiAliasing:= aanone;
glsceneviewer1.Buffer.ContextOptions:=
glsceneviewer1.Buffer.ContextOptions+[roNoColorBufferClear];
glsceneviewer1.RecreateWnd;
glsceneviewer1.Enabled:= true;
glscene1.EndUpdate;
glcadencer1.Enabled:= true;
end;
high:
begin
glcadencer1.Enabled:= false;
glscene1.BeginUpdate;
gllabel6.Caption:= "DETAIL LEVEL: HIGH";
glsceneviewer1.Enabled:= false;
glsceneviewer1.Buffer.FogEnvironment.FogDistance:= fdEyeRadial;
glshadowplane1.Visible:= true;
glsceneviewer1.Buffer.ColorDepth:= cd24bits;
glsceneviewer1.Buffer.DepthPrecision:= dp32bits;
glsceneviewer1.Buffer.AntiAliasing:= aadefault;
glsceneviewer1.Buffer.ContextOptions:=
glsceneviewer1.Buffer.ContextOptions-[roNoColorBufferClear];
glsceneviewer1.RecreateWnd;
glsceneviewer1.Enabled:= true;
glscene1.EndUpdate;
glcadencer1.Enabled:= true;
end;
end;
glsceneviewer1.Visible:= true;
← →
DeadMeat © (2004-08-20 01:11) [1]Хз... У меня нормально работает...
Поставил это в OnProgress и посмотрел в ProcessExplorer-е на количество занимаемой памяти и всяких открытых handle-ов - держится в определенных пределах, не увеличивается и не уменьшается.
Мож у тебя в другом месте ошибка? Таймер где какой стоит, асинхронный...
Или мож на изменение AntiAliasing твой карта реагирует не стандартно? У меня та он всегда отключен...
Кстати, а зачем glsceneviewer1.visible менять? Ведь RecreateWnd вроде делает тоже самое...
---
...Death Is Only The Begining...
← →
miek © (2004-08-20 22:05) [2]Свят-свят! Пропал глюк-то. Таймер там в самом деле стоят, только он ничего опасного не делает.
>зачем glsceneviewer1.visible менять
Ну типа контрольного выстрела, не знал за что хвататься, вот и поставил.
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.036 c