Вверх ↑
Этот топик читают: Гость
Ответов: 2193
Рейтинг: 673
#16: 2010-06-20 05:50:07 ЛС | профиль | цитата
Согласен что список может получиться внушительный http://triggertek.com/m/g/glEnable.3. Я уже поглядываю на GL_SCISSOR_TEST.
карма: 10

0
Ответов: 1304
Рейтинг: 405
#17: 2010-06-20 23:08:04 ЛС | профиль | цитата
sla8a, так меняем пока не поздно GL_Options или нет? С иконками правда непонятно, для каждой плоскости добавлять P0,P1 и тд.
карма: 3

0
Ответов: 2193
Рейтинг: 673
#18: 2010-06-20 23:56:29 ЛС | профиль | цитата
А если для ClipPlane сделать так: code_18967.txt
карма: 10

0
файлы: 1code_18967.txt [1.2KB] [355]
Администрация
Ответов: 15294
Рейтинг: 1518
#19: 2010-06-21 02:00:01 ЛС | профиль | цитата
меняем
карма: 26
0
Ответов: 2193
Рейтинг: 673
#20: 2010-06-21 02:04:11 ЛС | профиль | цитата
В архиве: http://hiasm.com//getfile/18970 GL_Scissor(pas,ini,ico,exe,sha), GL_Options(pas,ini,ico(для GL_Scissor)), GL_ClipPlane(pas,ini,sha,exe)

GL_Options: убрал ClipPlane добавил glfScissor.
GL_ClipPlane: .pas не доделан, выставлен ClipPlane0. Хотел отказаться от списка так как если я правильно понял, возможно более 6 секущих плоскости.
GL_Scissor: задает прямоугольник отсечения, где x и y – оконные координаты левой нижней угол области отсечения, width и height – ширина и высота этой области. Все параметры задаются в пикселях. Если часть объекта выходит за рамки этой области, то она не выводится на экран.

Желательно проверить код.

карма: 10

0
файлы: 1gl_21_06_2010.zip [82.1KB] [385]
Разработчик
Ответов: 4697
Рейтинг: 426
#21: 2010-06-21 08:53:34 ЛС | профиль | цитата
[offtop]
Dilma писал(а):
нельзя в IC менять название класса

Наверное я уже поздно, но все-таки использование своего имени класса возможно, нужно лишь затем добавить всего одну строчку:
#pas
THiAsmClass = THIGl_Flags;

Add(InlineCode,1663676,392,182)
{
WorkPoints=#7:doFlags|
EventPoints=#7:onFlags|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|28:uses Kol,Share,Debug,OpenGL;|0:|4:type|29: THIGL_Flags = class(TDebug)|10: private|9: public|0:|22: onFlags:THI_Event;|0:|51: procedure doFlags(var _Data:TData; Index:word);|6: end;|2: |28: THiAsmClass = THIGL_Flags;|0:|14:implementation|0:|30:procedure THIGL_Flags.doFlags;|3:var|12: x:integer;|6: begin|11: x := 0;|47: if glIsEnabled(GL_LIGHTING) then x := x + 1;|53: if glIsEnabled(GL_COLOR_MATERIAL) then x := x + 2;|49: if glIsEnabled(GL_DEPTH_TEST) then x := x + 4;|38: _hi_CreateEvent(_Data,@onFlags,x);|4:end;|0:|4:end.|
}
[/offtop]
карма: 10
1
Голосовали:Dilma
Ответов: 1304
Рейтинг: 405
#22: 2010-06-21 23:57:25 ЛС | профиль | цитата
sla8a, предлагаю оставить выбор флагов в GL_Options а GL_ClipPlane оставить без изменений, всё таки мне ближе идея включения(отключения) в GL_Options, а так получается не очень красиво. По поводу секущих плоскостей, да их может быть более шести но это из области фантастики, обычно всем хватает одной , аппаратных реализаций в быту не встречал, возможно это только в профессиональных в/картах есть. К GL_Scissor замечаний нет нормально работает.
Вариант после "отсечения" GL_Options как ты хотел ранее, всё просто и наглядно.
карма: 3

0
файлы: 1gl_options_21_06_2010_1.rar [4KB] [249]
Ответов: 2193
Рейтинг: 673
#23: 2010-06-22 01:21:14 ЛС | профиль | цитата
MAV, если Dilma не против можно остановиться на этом варианте. Все-таки иконки на каждую плоскость принесут пользу при использовании ClipPlane.
Просьба к админам переименовать тему в: элементы OpenGL

карма: 10

0
Ответов: 2193
Рейтинг: 673
#24: 2010-06-23 23:16:25 ЛС | профиль | цитата
Не нравяться HiAsm элементы с подсказкой к несуществующиму свойству.
Add(GL_Options,10367596,476,231)
{
Flag=12
Test=1
AddHint(-14,-33,60,13,Test)
}
Test=ClipPlane Мне это не мешает, просто довожу до сведения.
карма: 10

0
Ответов: 1304
Рейтинг: 405
#25: 2010-06-23 23:58:42 ЛС | профиль | цитата
sla8a, немогу фрагмент твоего кода вставить, установил старую версию GL_Options, вроде всё логично?

карма: 3

0
файлы: 1clip_plane.png [1.3KB] [543]
Ответов: 2193
Рейтинг: 673
#26: 2010-06-24 00:07:43 ЛС | профиль | цитата
Смысл в том что после убирания свойства ClipPlane у элемента GL_Options, схема с таким элементом:
Add(GL_Options,10367596,476,231)
{
Flag=12
ClipPlane=1
AddHint(-14,-33,60,13,ClipPlane)
}
(тоесть с подсказкой к ClipPlane) выдает ошибку с подвисанием HiAsm. Мне это не мешает, я у себя подчистил вручную. Но решил отписать об этом на всякий случай.
карма: 10

0
Ответов: 1304
Рейтинг: 405
#27: 2010-06-24 00:16:47 ЛС | профиль | цитата
понял тогда надо пустить GL_Scissor, после всех ClipPlane, ошибки не должно быть. Помоему даже сохраниться работоспособность схем где использовалась одна плоскость P0
карма: 3

0
Ответов: 2193
Рейтинг: 673
#28: 2010-06-24 00:25:02 ЛС | профиль | цитата
Нет не поможет. Ошибка из-за подсказки к несуществующему свойству (если я правильно понял). Свойства ClipPlane - нет, а подсказка к нему стоит. Несуществующие свойства HiAsm пропускает выводя ошибку в окно Ошибки, а вот с подсказками к отсутствующему свойству приводят к зависанию HiAsm (у меня так). Так что порядок в списке по твоему предложению только для сохранения совместимости с 0 плоскостью.
карма: 10

0
Администрация
Ответов: 15294
Рейтинг: 1518
#29: 2010-06-24 01:56:52 ЛС | профиль | цитата
исправлена ошибка при попытке добавить подсказку к несуществующему св-ву
карма: 26
0
29
Сообщение
...
Прикрепленные файлы
(файлы не залиты)