Вверх ↑
Ответов: 1304
Рейтинг: 405
#1: 2008-09-25 00:27:53 ЛС | профиль | цитата
Дополнительной инфы не нашёл, поэтому соглашусь как с аксиомой .
------------ Дoбавленo:

Выкладываю ещё один пример с использованием буфера трафарета.
Зеркало

Add(MainForm,15261923,-276,-7)
{
Left=20
Top=105
Width=789
Height=541
Point(MouseX)
Point(MouseY)
Point(onResize)
Point(Handle)
link(onCreate,16299401:doEvent1,[(-236,13)(-236,34)])
link(onResize,3213527:doWork1,[(-139,20)])
}
Add(Timer,9506849,-276,105)
{
Interval=10
Enable=1
link(onTimer,1049454:doEvent1,[])
}
Add(GL_GTools,771925,-143,105)
{
Point(doClear)
Point(doPushMatrix)
Point(doPopMatrix)
link(onEvent,3410847:doPerspective,[])
}
Add(GL_GluTools,4593655,109,28)
{
link(onInit,11539355:doEnabled,[])
}
Add(Hub,1049454,-227,105)
{
OutCount=5
link(onEvent1,771925:doClear,[])
link(onEvent2,771925:doPushMatrix,[])
link(onEvent3,3276760:doRotate,[(-171,125)(-171,210)(-232,210)(-232,237)])
link(onEvent4,771925:doPopMatrix,[(-163,132)(-163,125)])
link(onEvent5,12986311:doFlip,[(-148,139)(-148,48)])
}
Add(Hub,16299401,-227,28)
{
OutCount=4
link(onEvent1,12986311:doInit,[])
link(onEvent2,3213527:doWork2,[])
link(onEvent3,9506849:doTimer,[(-176,48)(-176,80)(-288,80)(-288,111)])
}
Add(HubEx,3213527,-143,28)
{
link(onEvent,12986311:doViewPort,[])
}
Add(GL_Options,16663485,-45,28)
{
Flag=2
link(onEvent,1571481:doEnabled,[])
}
Add(GL_Options,1571481,11,28)
{
link(onEvent,15984634:doEnabled,[])
}
Add(GL_Options,15984634,60,28)
{
Flag=1
link(onEvent,4593655:doInit,[])
}
Add(GL_Perspective,3410847,-87,105)
{
Fovy=5
}
Add(ChildPanel,10677880,-101,-56)
{
}
BEGIN_SDK
Add(EditMulti,9128714,10,10)
{
EventCount=1
VarCount=3
link(Var1,246425:Handle,[(16,174)(20,174)])
link(Var2,246425:MouseX,[(23,174)(27,174)])
link(Var3,246425:MouseY,[(30,174)(34,174)])
}
Add(Panel,246425,14,105)
{
Width=512
Height=512
Point(Handle)
Point(onMouseMove)
Point(MouseX)
Point(MouseY)
link(onMouseMove,9128714:onEvent1,[(189,118)(189,16)])
}
END_SDK
Add(GL_Rotate,3276760,-220,231)
{
Y=1
link(onRotate,8079493:doRotate,[])
link(Angle,4326144:Position,[(-214,215)(-291,215)])
}
Add(GL_Rotate,8079493,-171,231)
{
X=1
link(onRotate,12798500:doRotate,[])
link(Angle,95109:Position,[(-165,215)(-151,215)])
}
Add(GL_Rotate,12798500,-115,231)
{
Z=1
link(onRotate,2230488:doEnabled,[])
}
Add(Label,11860779,-115,168)
{
Left=715
Top=70
Caption=""
}
Add(Label,613228,-73,168)
{
Left=530
Top=70
Width=93
Height=17
Caption="Поворот по оси X"
}
Add(TrackBar,95109,-157,168)
{
Left=520
Top=95
Width=260
Max=360
link(onPosition,11860779:doText,[])
}
Add(Label,5918248,-255,168)
{
Left=715
Top=10
Caption=""
}
Add(Label,5443084,-213,168)
{
Left=530
Top=10
Width=93
Height=17
Caption="Поворот по оси Y"
}
Add(TrackBar,4326144,-297,168)
{
Left=520
Top=35
Width=260
Max=360
link(onPosition,5918248:doText,[])
}
Add(GL_Disk,8741455,144,231)
{
OutRadius=0.15
Slices=40
Stacks=40
link(onDraw,6616114:doEnabled,[])
}
Add(GL_StencilOp,14661851,-24,231)
{
Fail=2
zFail=2
zPass=2
link(onStencilOp,649034:doStencilFunc,[])
}
Add(GL_StencilFunc,649034,25,231)
{
Func=6
Ref=1
link(onStencilFunc,5116921:doDisabled,[(73,237)(73,244)])
}
Add(GL_Options,5116921,88,231)
{
link(onEvent,8741455:doDraw,[])
}
Add(GL_Options,2230488,-66,231)
{
Flag=11
link(onEvent,14661851:doStencilOp,[])
}
Add(GL_StencilOp,5805993,235,231)
{
link(onStencilOp,2156549:doStencilFunc,[])
}
Add(GL_StencilFunc,2156549,284,231)
{
Func=4
Ref=1
link(onStencilFunc,4082630:doDraw,[(328,237)(328,269)(-71,269)(-71,300)])
}
Add(Gl_Translate,16460065,88,294)
{
Z=0.2
link(onTranslate,8474916:doDraw,[])
}
Add(GL_GTools,16329553,25,294)
{
Point(doPushMatrix)
link(onEvent,16460065:doTranslate,[])
}
Add(GL_GTools,16348534,179,294)
{
Point(doPopMatrix)
}
Add(GL_Main,12986311,-101,28)
{
Color=32896
StencilBits=1
link(onInit,16663485:doEnabled,[])
link(Handle,10677880:Var1,[])
}
Add(GL_Options,6616114,193,231)
{
link(onEvent,5805993:doStencilOp,[])
}
Add(GL_Options,1130235,-24,294)
{
Flag=11
link(onEvent,16329553:doPushMatrix,[])
}
Add(GL_Cylinder,4082630,-66,294)
{
BaseRadius=0.1
TopRadius=0.1
Height=0.1
Slices=60
Stacks=60
link(onDraw,1130235:doDisabled,[(-33,300)(-33,307)])
}
Add(GL_Cylinder,8474916,130,294)
{
BaseRadius=0.1
TopRadius=0.1
Height=0.1
Slices=60
Stacks=60
link(onDraw,16348534:doPopMatrix,[])
}
Add(GL_Light,11539355,165,28)
{
Ambient=5059373
Diffuse=11171692
Specular=255
}

------------ Дoбавленo:

Зеркало + объект с текстурой.

Add(MainForm,15261923,-373,-21)
{
Left=20
Top=105
Width=789
Height=541
Point(MouseX)
Point(MouseY)
Point(onResize)
Point(Handle)
link(onCreate,16299401:doEvent1,[(-333,-1)(-333,20)])
link(onResize,3213527:doWork1,[(-236,6)])
}
Add(Timer,9506849,-373,91)
{
Interval=10
Enable=1
link(onTimer,1049454:doEvent1,[])
}
Add(GL_GTools,771925,-240,91)
{
Point(doClear)
Point(doPushMatrix)
Point(doPopMatrix)
link(onEvent,3410847:doPerspective,[])
}
Add(GL_GluTools,4593655,110,14)
{
Texture=0
link(onInit,11539355:doEnabled,[])
}
Add(Hub,1049454,-324,91)
{
OutCount=5
link(onEvent1,771925:doClear,[])
link(onEvent2,771925:doPushMatrix,[])
link(onEvent3,3276760:doRotate,[(-268,111)(-268,196)(-329,196)(-329,223)])
link(onEvent4,771925:doPopMatrix,[(-260,118)(-260,111)])
link(onEvent5,12986311:doFlip,[(-245,125)(-245,34)])
}
Add(Hub,16299401,-324,14)
{
OutCount=4
link(onEvent1,12986311:doInit,[])
link(onEvent2,3213527:doWork2,[])
link(onEvent3,9506849:doTimer,[(-273,34)(-273,66)(-385,66)(-385,97)])
}
Add(HubEx,3213527,-240,14)
{
link(onEvent,12986311:doViewPort,[])
}
Add(GL_Options,16663485,-142,14)
{
Flag=2
link(onEvent,1571481:doEnabled,[])
}
Add(GL_Options,1571481,-86,14)
{
link(onEvent,15984634:doEnabled,[])
}
Add(GL_Options,15984634,-37,14)
{
Flag=1
link(onEvent,7386030:doEnabled,[(11,20)(11,27)])
}
Add(GL_Perspective,3410847,-184,91)
{
Fovy=5
}
Add(ChildPanel,10677880,-198,-70)
{
}
BEGIN_SDK
Add(EditMulti,9128714,10,10)
{
EventCount=1
VarCount=3
link(Var1,246425:Handle,[(16,174)(20,174)])
link(Var2,246425:MouseX,[(23,174)(27,174)])
link(Var3,246425:MouseY,[(30,174)(34,174)])
}
Add(Panel,246425,14,105)
{
Width=512
Height=512
Point(Handle)
Point(onMouseMove)
Point(MouseX)
Point(MouseY)
link(onMouseMove,9128714:onEvent1,[(189,118)(189,16)])
}
END_SDK
Add(GL_Rotate,3276760,-317,217)
{
Y=1
link(onRotate,8079493:doRotate,[])
link(Angle,4326144:Position,[(-311,201)(-388,201)])
}
Add(GL_Rotate,8079493,-268,217)
{
X=1
link(onRotate,12798500:doRotate,[])
link(Angle,95109:Position,[(-262,201)(-248,201)])
}
Add(GL_Rotate,12798500,-212,217)
{
Z=1
link(onRotate,13133799:doCallList,[(-168,223)(-168,230)])
}
Add(Label,11860779,-212,154)
{
Left=715
Top=70
Caption=""
}
Add(Label,613228,-170,154)
{
Left=530
Top=70
Width=93
Height=17
Caption="Поворот по оси X"
}
Add(TrackBar,95109,-254,154)
{
Left=520
Top=95
Width=260
Max=360
link(onPosition,11860779:doText,[])
}
Add(Label,5918248,-352,154)
{
Left=715
Top=10
Caption=""
}
Add(Label,5443084,-310,154)
{
Left=530
Top=10
Width=93
Height=17
Caption="Поворот по оси Y"
}
Add(TrackBar,4326144,-394,154)
{
Left=520
Top=35
Width=260
Max=360
link(onPosition,5918248:doText,[])
}
Add(GL_Disk,8741455,103,224)
{
OutRadius=0.15
Slices=40
Stacks=40
link(onDraw,6616114:doEnabled,[])
}
Add(GL_StencilOp,14661851,-65,224)
{
Fail=2
zFail=2
zPass=2
link(onStencilOp,649034:doStencilFunc,[])
}
Add(GL_StencilFunc,649034,-16,224)
{
Func=6
Ref=1
link(onStencilFunc,5116921:doDisabled,[(32,230)(32,237)])
}
Add(GL_Options,5116921,47,224)
{
link(onEvent,8741455:doDraw,[])
}
Add(GL_Options,2230488,-107,224)
{
Flag=11
link(onEvent,14661851:doStencilOp,[])
}
Add(GL_StencilOp,5805993,194,224)
{
link(onStencilOp,2156549:doStencilFunc,[])
}
Add(GL_StencilFunc,2156549,257,224)
{
Func=4
Ref=1
link(onStencilFunc,16000784:doCallList,[(301,230)(301,269)(-224,269)(-224,300)])
}
Add(Gl_Translate,16460065,61,294)
{
Z=0.2
link(onTranslate,16487823:doDraw,[])
}
Add(GL_GTools,16329553,-2,294)
{
Point(doPushMatrix)
link(onEvent,16460065:doTranslate,[])
}
Add(GL_GTools,16348534,159,294)
{
Point(doPopMatrix)
}
Add(GL_Main,12986311,-198,14)
{
Color=32896
StencilBits=1
link(onInit,16663485:doEnabled,[])
link(Handle,10677880:Var1,[])
}
Add(GL_Options,6616114,152,224)
{
link(onEvent,5805993:doStencilOp,[])
}
Add(GL_Options,1130235,-51,294)
{
Flag=11
link(onEvent,16329553:doPushMatrix,[])
}
Add(GL_Light,11539355,166,14)
{
Ambient=5059373
Diffuse=11171692
Specular=255
link(onEnabled,14234746:doCreate,[(216,20)(216,56)])
}
Add(GL_Options,7386030,26,21)
{
Flag=10
link(onEvent,4593655:doInit,[(84,27)(84,20)])
}
Add(GL_Texture,14234746,234,50)
{
UseList=0
Index=1
link(onCreate,4234123:doCreate,[])
link(Bitmap,14855894:Bitmap,[])
}
Add(Bitmap,14855894,234,-13)
{
Picture=[ZIPF600000078DA73F2FDC600016640AC01C41C50CCC82001163FC080090E0C710000D84792CD]
}
Add(GL_CallList,13133799,-156,224)
{
Index=1
link(onCallList,2230488:doEnabled,[])
}
Add(GL_Texture,4234123,290,50)
{
UseList=0
Index=2
link(Bitmap,8263248:Bitmap,[])
}
Add(Bitmap,8263248,290,-13)
{
Picture=[ZIPF600000078DA73F2FDC600016640AC01C41C50CCC82001163FC08009FEFFFF2F79901193C42AF81F0C06957A00F04F7DCD]
}
Add(GL_CallList,16000784,-219,294)
{
Index=2
link(onCallList,7355728:doTranslate,[])
}
Add(GL_Sphere,16487823,110,294)
{
Radius=0.1
Slices=50
Stacks=50
link(onDraw,16348534:doPopMatrix,[])
}
Add(GL_Sphere,12768047,-107,294)
{
Radius=0.1
Slices=50
Stacks=50
link(onDraw,1130235:doDisabled,[(-63,300)(-63,307)])
}
Add(Gl_Translate,7355728,-156,294)
{
Z=0.1
link(onTranslate,12768047:doDraw,[])
}


карма: 3

0