Вверх ↑
Этот топик читают: Гость
Ответов: 16884
Рейтинг: 1239
#46: 2010-01-08 21:54:30 ЛС | профиль | цитата
У меня 1024х768
------------ Дoбавленo в 21.57:
sla8a писал(а):
не веришь на слово?
Не верю. Верю только своим глазам.
Если на заборе, над дыркой от выпавшего сучка, написано ..... - не верь глазам своим

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 2270
Рейтинг: 677
#47: 2010-01-08 22:05:25 ЛС | профиль | цитата
Вот код code_16390.txtиз книги по OpenGL реализованный в схеме 1:1 и у меня работает b 4.03 b181 FPC. И как с этим бороться?
карма: 11

0
файлы: 1code_16390.txt [1.7KB] [270]
Ответов: 2058
Рейтинг: 28
#48: 2010-01-08 22:49:25 ЛС | профиль | цитата
code_16386.txt выглядит так же как у Tad-а на скриншоте. Монитор 1024х768.
карма: 1

0
Ответов: 1304
Рейтинг: 405
#49: 2010-01-09 00:06:01 ЛС | профиль | цитата
sla8a, явных ошибок не нашёл. Изменил слегка параметры, должно заработать.


Add(MainForm,6112295,14,28)
{
Left=20
Top=105
Width=500
Height=500
Caption="Stencil"
Position=1
Point(MouseX)
Point(MouseY)
Point(onResize)
Point(Handle)
link(onCreate,16299401:doEvent1,[(71,48)(71,146)])
link(onResize,14551396:doWork1,[(137,55)])
}
Add(GL_Main,12986311,154,140)
{
Color=0
StencilBits=1
link(onInit,12198675:doInit,[])
link(onViewPort,3410847:doPerspective,[(210,153)(210,195)])
link(Handle,6112295:Handle,[(160,125)(34,125)])
}
Add(Timer,9506849,42,224)
{
Interval=10
Enable=1
link(onTimer,1049454:doEvent1,[])
}
Add(GL_GTools,771925,154,224)
{
Point(doClear)
Point(doPushMatrix)
Point(doPopMatrix)
}
Add(Hub,1049454,91,224)
{
OutCount=5
link(onEvent1,771925:doClear,[])
link(onEvent2,771925:doPushMatrix,[])
link(onEvent3,10714674:doWork1,[(117,244)(117,104)])
link(onEvent4,771925:doPopMatrix,[(131,251)(131,244)])
link(onEvent5,12986311:doFlip,[(144,258)(144,160)])
}
Add(Hub,16299401,84,140)
{
OutCount=3
link(onEvent1,12986311:doInit,[])
link(onEvent2,14551396:doWork2,[])
link(onEvent3,9506849:doTimer,[(109,160)(109,193)(30,193)(30,230)])
}
Add(HubEx,14551396,133,147)
{
link(onEvent,12986311:doViewPort,[])
}
Add(MultiElement,10714674,217,98)
{
link(onEvent1,8918510:doStencilFunc,[])
link(Data1,6112295:MouseX,[(223,90)(20,90)])
link(Data2,6112295:MouseY,[(230,84)(27,84)])
}
BEGIN_SDK
Add(EditMulti,4359962,3,3)
{
EventCount=1
WorkCount=1
DataCount=2
Width=223
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,[(62,15)(9,15)])
}
Add(GL_Rotate,8079493,112,49)
{
X=1
link(onRotate,4359962:onEvent1,[(189,55)(189,9)])
link(Angle,4359962:Data2,[(139,8)(16,8)])
}
END_SDK
Add(GL_Perspective,3410847,217,189)
{
Fovy=5
zFar=10
}
Add(GL_GluTools,12198675,217,140)
{
link(onInit,5851269:doEnabled,[])
}
Add(GL_Options,5851269,259,140)
{
Flag=1
link(onEvent,15226729:doEnabled,[])
}
Add(GL_Options,10513853,385,140)
{
Flag=11
link(onEvent,5415838:doEnabled,[])
}
Add(GL_Options,15226729,301,140)
{
Flag=2
link(onEvent,13722633:doEnabled,[])
}
Add(GL_StencilFunc,8918510,259,98)
{
Func=6
Ref=1
Mask=0
link(onStencilFunc,2142149:doStencilOp,[])
}
Add(GL_StencilOp,2142149,301,98)
{
zPass=2
link(onStencilOp,14231168:doDraw,[])
}
Add(GL_Cube,14231168,343,98)
{
Size=0.25
link(onDraw,2707981:doStencilFunc,[])
}
Add(GL_GTools,11643782,511,98)
{
ClearStencil=1
Point(doClear)
link(onEvent,6330616:doDisabled,[(551,104)(551,111)])
}
Add(GL_Options,6330616,560,98)
{
Flag=11
link(onEvent,1049369:doColor,[])
}
Add(GL_Color,16073936,938,98)
{
link(onColor,4646547:doStencilFunc,[])
}
Add(GL_StencilFunc,4646547,980,98)
{
Func=4
Ref=1
link(onStencilFunc,6513123:doDraw,[])
}
Add(GL_Cube,6513123,1022,98)
{
Size=0.25
}
Add(GL_Sphere,9547296,644,98)
{
Radius=0.05
Slices=40
Stacks=40
link(onDraw,4338622:doColor,[])
}
Add(GL_Color,1049369,602,98)
{
Color=255
link(onColor,9547296:doDraw,[])
}
Add(GL_Options,15472221,896,98)
{
Flag=11
link(onEvent,16073936:doColor,[])
}
Add(GL_Torus,2759330,728,98)
{
inRadius=0.015
outRadius=0.061
Sides=30
Rings=30
link(onDraw,7968838:doRotate,[])
}
Add(GL_Color,4338622,686,98)
{
Color=8388608
link(onColor,2759330:doDraw,[])
}
Add(GL_Torus,13376246,854,98)
{
inRadius=0.015
outRadius=0.06
Sides=30
Rings=30
link(onDraw,15472221:doEnabled,[])
}
Add(GL_Color,10374806,812,98)
{
Color=32768
link(onColor,13376246:doDraw,[])
}
Add(GL_Rotate,7968838,770,98)
{
Angle=90
X=1
link(onRotate,10374806:doColor,[])
}
Add(GL_StencilFunc,2707981,385,98)
{
Func=6
Ref=2
Mask=0
link(onStencilFunc,15948346:doStencilOp,[])
}
Add(GL_StencilOp,15948346,427,98)
{
zPass=2
link(onStencilOp,5012351:doDraw,[])
}
Add(GL_Sphere,5012351,469,98)
{
Radius=0.15
Slices=40
Stacks=40
link(onDraw,11643782:doClear,[])
}
Add(GL_Options,13722633,343,140)
{
link(onEvent,10513853:doEnabled,[])
}
Add(GL_Light,5415838,427,140)
{
}

Если всё пройдёт удачно можно один из примеров Stencil2.sha заменить на данный пример, примера Stencil3.sha достаточно чтобы показать эффект зеркала.
карма: 3

2
Голосовали:sla8a, Tad
Ответов: 2270
Рейтинг: 677
#50: 2010-01-09 00:11:41 ЛС | профиль | цитата
MAV, у меня работает и смотриться лучше. В примерах такая схема нужна. Но почему не у всех работает?
карма: 11

0
Ответов: 16884
Рейтинг: 1239
#51: 2010-01-09 00:13:33 ЛС | профиль | цитата
MAV, Отлично работает.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 2058
Рейтинг: 28
#52: 2010-01-09 00:19:43 ЛС | профиль | цитата
MAV писал(а):
явных ошибок не нашёл. Изменил слегка параметры, должно заработать.

Теперь нормально работает.
карма: 1

0
Ответов: 1304
Рейтинг: 405
#53: 2010-01-09 00:29:51 ЛС | профиль | цитата
sla8a, предполагаю что все биты в буфере должны быть оправданы, откуда взялось значение 255 бит в маске сравнения(GL_StencilFunc), это что с чем надо складывать(вычетать,умножать) чтобы получить 255. Возможно причина в значении буфера 8 бит в (GL_Main). Поэтому лучше все значения по возможности приводить к значениям 1 и 0.
карма: 3

0
Ответов: 2270
Рейтинг: 677
#54: 2010-01-09 00:40:28 ЛС | профиль | цитата
MAV, про 8 бит согласен.
sla8a писал(а):
Попробуй в компоненте GLMain StencilBits поставить в 1.

А 255 бит вот сам посмотри: http://hiasm.com//getfile/16394
карма: 11

0
файлы: 1stencil.rar [47.4KB] [450]
Ответов: 1304
Рейтинг: 405
#55: 2010-01-09 01:00:09 ЛС | профиль | цитата
sla8a, знакомая литература .
Могу точно сказать не знаю , из за таких приколов мне так и не удалось разобраться с стенсильными тенями, отложил на потом. Возможно потом уже пришло . Кстати после прорезания дырок в чём помог сильно Dilma, удалось победить зеркала. Возможно тебе при столь тщательном подходе к исходникам удастся освоить тени.
Вобще конечно +, за пример максимально приближенный к исходнику.
карма: 3

0
55
Сообщение
...
Прикрепленные файлы
(файлы не залиты)