Вверх ↑
Этот топик читают: Гость
Ответов: 2060
Рейтинг: 28
#31: 2008-08-07 19:32:12 ЛС | профиль | цитата
MAV писал(а):
столкнулся с тем что текстуры более 128х128, начинают подтормаживать, я так понимаю это явление обойти нельзя?

Ну почему же. Смени, свою старую видеокарту на новую.
карма: 1

0
Ответов: 1304
Рейтинг: 405
#32: 2008-08-07 22:10:25 ЛС | профиль | цитата
Да придётся сменить, наверное GF8600 окончательно устарели
А если серьёзно попытаюсь сделать простенький пример, с гиганской текстурой 300х300.
------------ Дoбавленo:

Эдик, видеокарта оказалась не причём, причина в непонимании работы элементов OpenGL.
Пример сделать таки удалось, помог пример Nic(а) подтормаживаний нет, но вылезла проблемка "Луна" в дисплейном списке индекс 1, при загрузке текстуры более чем 128х128 превращается в муар, с "Землёй" проблем нет. Пример без текстур для уменьшения размера.

#sha
Add(MainForm,15261923,-254,28)
{
Left=20
Top=105
Width=581
Height=580
Point(MouseX)
Point(MouseY)
Point(onResize)
Point(Handle)
link(onCreate,16299401:doEvent1,[(-203,48)(-203,118)])
link(onResize,3213527:doWork1,[(-103,55)])
}
Add(GL_Main,12986311,-86,112)
{
link(onInit,16663485:doEnabled,[])
link(onViewPort,3410847:doPerspective,[(-46,125)(-46,160)])
link(Handle,15261923:Handle,[(-80,86)(-234,86)])
}
Add(Timer,9506849,-226,210)
{
Interval=3
Enable=1
link(onTimer,1049454:doEvent1,[])
}
Add(GL_GTools,771925,-107,252)
{
Point(doClear)
Point(doPushMatrix)
Point(doPopMatrix)
}
Add(GL_GluTools,4593655,236,112)
{
Texture=0
link(onInit,6976573:doEnabled,[])
}
Add(Hub,1049454,-177,210)
{
OutCount=5
link(onEvent1,771925:doClear,[(-117,216)(-117,258)])
link(onEvent2,771925:doPushMatrix,[(-126,223)(-126,265)])
link(onEvent3,10714674:doWork1,[(-59,230)(-59,237)])
link(onEvent4,771925:doPopMatrix,[(-134,237)(-134,272)])
link(onEvent5,12986311:doFlip,[(-124,244)(-124,132)])
}
Add(Hub,16299401,-184,112)
{
OutCount=3
link(onEvent1,12986311:doInit,[])
link(onEvent2,3213527:doWork2,[])
link(onEvent3,9506849:doTimer,[(-138,132)(-138,177)(-232,177)(-232,216)])
}
Add(MultiElement,10714674,26,231)
{
link(onEvent1,9945092:doWork1,[])
link(Data1,14771766:Value,[])
link(Data2,6043289:Value,[(39,215)(88,215)])
}
BEGIN_SDK
Add(EditMulti,4359962,10,10)
{
EventCount=1
WorkCount=1
DataCount=2
Width=181
Height=109
link(doWork1,3276760:doRotate,[(19,9)(19,55)])
}
Add(GL_Rotate,3276760,35,49)
{
Y=1
link(onRotate,8079493:doRotate,[])
link(Angle,4359962:Data1,[(41,26)(9,26)])
}
Add(GL_Rotate,8079493,112,49)
{
X=1
link(onRotate,4359962:onEvent1,[(168,55)(168,16)])
link(Angle,4359962:Data2,[(118,16)(16,16)])
}
END_SDK
Add(HubEx,3213527,-107,112)
{
link(onEvent,12986311:doViewPort,[])
}
Add(Counter,8759509,187,231)
{
Max=360
link(onNext,9499143:doRotate,[])
}
Add(Memory,14771766,26,168)
{
Default=Integer(9)
}
Add(Memory,6043289,82,168)
{
Default=Integer(110)
}
Add(GL_Light,6976573,285,112)
{
link(onEnabled,14234746:doCreate,[])
}
Add(GL_Options,16663485,26,112)
{
Flag=2
link(onEvent,1571481:doEnabled,[])
}
Add(GL_Options,1571481,82,112)
{
link(onEvent,15984634:doEnabled,[])
}
Add(GL_Options,15984634,131,112)
{
Flag=1
link(onEvent,4296278:doEnabled,[])
}
Add(GL_Perspective,3410847,-37,154)
{
Fovy=30
}
Add(MultiElement,9945092,138,231)
{
link(onEvent1,8759509:doNext,[])
}
BEGIN_SDK
Add(EditMulti,13416492,10,10)
{
EventCount=1
WorkCount=1
Width=608
Height=137
link(doWork1,11196606:doPushMatrix,[(30,16)(30,76)])
}
Add(GL_Sphere,12678019,406,70)
{
Radius=0.15
link(onDraw,16242413:doPopMatrix,[])
}
Add(Gl_Translate,6506827,301,70)
{
Z=1.5
link(onTranslate,12970743:doCallList,[])
}
Add(GL_Rotate,15834536,252,70)
{
X=1
link(onRotate,6506827:doTranslate,[])
}
Add(GL_GTools,11196606,49,70)
{
Point(doPushMatrix)
link(onEvent,4975387:doDraw,[])
}
Add(GL_GTools,16242413,462,70)
{
Point(doPopMatrix)
link(onEvent,13416492:onEvent1,[(556,76)(556,16)])
}
Add(Counter,13547329,203,70)
{
Max=360
link(onNext,15834536:doRotate,[])
}
Add(GL_Disk,4975387,98,70)
{
InRadius=1.5
OutRadius=1.5
Slices=1
Stacks=1
link(onDraw,305284:doRotate,[])
}
Add(GL_Rotate,305284,154,70)
{
Angle=90
Y=1
link(onRotate,13547329:doNext,[])
}
Add(GL_CallList,12970743,357,70)
{
Index=1
link(onCallList,12678019:doDraw,[])
}
END_SDK
Add(GL_Sphere,12678019,327,231)
{
Slices=60
Stacks=60
}
Add(GL_Rotate,9499143,236,231)
{
Z=1
link(onRotate,8850857:doCallList,[])
}
Add(GL_Texture,14234746,327,112)
{
UseList=0
Index=1
link(onCreate,552462:doCreate,[])
link(Bitmap,14855894:Bitmap,[])
}
Add(Bitmap,14855894,327,70)
{
}
Add(GL_Texture,552462,369,112)
{
UseList=0
Index=2
link(Bitmap,15523538:Bitmap,[])
}
Add(GL_CallList,8850857,285,231)
{
Index=2
link(onCallList,12678019:doDraw,[])
}
Add(GL_Options,4296278,180,112)
{
Flag=10
link(onEvent,4593655:doInit,[])
}
Add(Bitmap,15523538,369,70)
{
}

карма: 3

0
Ответов: 2060
Рейтинг: 28
#33: 2008-08-07 23:53:22 ЛС | профиль | цитата
MAV, вот в эту схему поставь свои текстуры и проверь.
code_9655.txt
карма: 1

0
файлы: 1code_9655.txt [4.2KB] [392]
Главный модератор
Ответов: 2999
Рейтинг: 396
#34: 2008-08-08 01:53:51 ЛС | профиль | цитата
Dilma где-то отмечал ограничения на размер текстур.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 1304
Рейтинг: 405
#35: 2008-08-08 21:49:24 ЛС | профиль | цитата
Странно до непонятности, сегодня включил копм и всё заработало, решил проверить
Nic писал(а):
Dilma где-то отмечал ограничения на размер текстур
запихнул в свой пример текстуру (Земля1920х1920,Луна800х800) увеличил количество полигонов до 500 и в итоге всё работает без тормозов, нагрузка на проц 80% (Х2 4600).Получилось фактически что муар пропал после перезагрузки.
карма: 3

0
Администрация
Ответов: 15295
Рейтинг: 1519
#36: 2008-08-08 23:49:30 ЛС | профиль | цитата
MAV писал(а):
А если серьёзно попытаюсь сделать простенький пример, с гиганской текстурой 300х300.

гиганская текстура это то, что используют в Enemy Territory: Quake Wars - 3-x гиговая текстура размером 32768х32768 пикселей... 300 на 300 это детский сад при таком раскладе

Nic писал(а):
Dilma где-то отмечал ограничения на размер текстур.

ограничение есть - размеры текстуры должны соответсвовать степени 2: 128, 256, 512 и т.д.
карма: 27
0
36
Сообщение
...
Прикрепленные файлы
(файлы не залиты)