Вверх ↑
Этот топик читают: Гость
Ответов: 1088
Рейтинг: 112
#1: 2008-11-21 12:18:15 ЛС | профиль | цитата
Хотел перевести код с http://www.opengl.org.ru/books/open_gl/chapter4.4.html на HiAsm, но получается только наложение прозрачного цилиндра.
Что должно получится можно посмотреть по выше приведенной ссылке, вот то то получается:
code_10729.txt
Я пробовал добавлять в компонент GL_options glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); и glEnable(GL_ALPHA_TEST); но это ничего не изменило.
Кстате почему цилиндры выглядят по разному?
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
файлы: 1code_10729.txt [2.1KB] [191]
Администрация
Ответов: 15295
Рейтинг: 1519
#2: 2008-11-21 15:40:43 ЛС | профиль | цитата
Sniper36 писал(а):
но получается только наложение прозрачного цилиндра.

ну вообщето в схеме нет настроек источника света
карма: 27
0
Ответов: 1088
Рейтинг: 112
#3: 2008-11-21 16:36:07 ЛС | профиль | цитата
Dilma писал(а):
ну вообщето в схеме нет настроек источника света

Не въехал.
Light0 не достаточно чтоли?
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 1304
Рейтинг: 405
#4: 2008-11-27 16:27:07 ЛС | профиль | цитата
Dilma писал(а):
ну вообщето в схеме нет настроек источника света

Sniper36, (GL_Material) во что имел ввиду Dilma.

Add(MainForm,15261923,-122,7)
{
Left=20
Top=105
Width=440
Height=421
Point(MouseX)
Point(MouseY)
Point(onResize)
Point(Handle)
link(onCreate,16299401:doEvent1,[(-78,27)(-78,55)])
link(onResize,16131419:doWork1,[(-6,34)])
}
Add(GL_Main,12986311,18,49)
{
link(onInit,12198675:doInit,[])
link(onViewPort,3410847:doPerspective,[(58,62)(58,97)])
link(Handle,15261923:Handle,[(24,44)(-102,44)])
}
Add(Timer,9506849,-94,133)
{
Interval=33
Enable=1
link(onTimer,1049454:doEvent1,[])
}
Add(GL_GTools,771925,25,119)
{
Point(doClear)
Point(doPushMatrix)
Point(doPopMatrix)
}
Add(Hub,1049454,-45,133)
{
OutCount=5
link(onEvent1,771925:doClear,[(6,139)(6,125)])
link(onEvent2,771925:doPushMatrix,[(6,146)(6,132)])
link(onEvent3,10714674:doWork1,[(37,153)(37,181)])
link(onEvent4,771925:doPopMatrix,[(6,160)(6,139)])
link(onEvent5,12986311:doFlip,[(2,167)(2,69)])
}
Add(Hub,16299401,-66,49)
{
OutCount=3
link(onEvent1,12986311:doInit,[])
link(onEvent2,16131419:doWork2,[])
link(onEvent3,9506849:doTimer,[(-24,69)(-24,107)(-104,107)(-104,139)])
}
Add(GL_GluTools,12198675,88,49)
{
link(onInit,1101264:doEnabled,[])
}
Add(GL_Light,14989894,305,49)
{
}
Add(GL_Options,1101264,130,49)
{
link(onEvent,5851269:doEnabled,[])
}
Add(GL_Options,5851269,179,49)
{
Flag=1
link(onEvent,5809249:doEnabled,[])
}
Add(GL_Options,5809249,221,49)
{
Flag=2
link(onEvent,15567448:doEnabled,[])
}
Add(GL_Perspective,3410847,88,91)
{
Fovy=20
}
Add(HubEx,16131419,-10,49)
{
link(onEvent,12986311:doViewPort,[])
}
Add(GL_Options,15567448,263,49)
{
Flag=8
link(onEvent,14989894:doEnabled,[])
}
Add(GL_Sphere,14716319,214,175)
{
Radius=0.6
Slices=60
Stacks=60
link(onDraw,3710676:doColor,[])
}
Add(GL_Color,13761942,172,175)
{
Color=255
link(onColor,14716319:doDraw,[])
}
Add(GL_Cylinder,6839709,305,175)
{
Slices=60
Stacks=60
}
Add(GL_Color,3710676,263,175)
{
Color=32768
Alpha=0.6
link(onColor,6839709:doDraw,[])
}
Add(MultiElement,10714674,87,175)
{
link(onEvent1,4670547:doSet,[])
link(Data1,7437463:Value,[(93,170)(80,170)])
link(Data2,11582071:Value,[(100,167)(122,167)])
}
BEGIN_SDK
Add(EditMulti,4359962,10,10)
{
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,[(41,29)(16,29)])
}
Add(GL_Rotate,8079493,112,49)
{
X=1
link(onRotate,4359962:onEvent1,[(188,55)(188,16)])
link(Angle,4359962:Data2,[(118,29)(23,29)])
}
END_SDK
Add(GL_Material,4670547,130,175)
{
Diffuse=0
Specular=16777215
Shininess=128
link(onSet,13761942:doColor,[])
}
Add(Memory,7437463,74,126)
{
Default=Integer(270)
}
Add(Memory,11582071,116,126)
{
Default=Integer(90)
}






карма: 3

1
Голосовали:Sniper36
Ответов: 1088
Рейтинг: 112
#5: 2008-11-27 16:34:28 ЛС | профиль | цитата
Ага спасибо, вот что я хотел сделать
ссылка не пашет смотри ниже...
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 1304
Рейтинг: 405
#6: 2008-11-27 16:50:36 ЛС | профиль | цитата
Sniper36, теперь бы разобраться как избавиться от артефакта полосатости в динамике . Если сцена неподвижная конечно можно выставит угол поворота примитивов.
карма: 3

0
Ответов: 1088
Рейтинг: 112
#7: 2008-11-27 17:01:27 ЛС | профиль | цитата
MAV, У меня нету артефактов))

#sha
Add(MainForm,15261923,203,77)
{
Left=20
Top=105
Width=440
Height=421
Point(MouseX)
Point(MouseY)
Point(onResize)
Point(Handle)
link(onCreate,16299401:doEvent1,[(247,97)(247,125)])
link(onResize,16131419:doWork1,[(319,104)])
}
Add(GL_Main,12986311,343,119)
{
link(onInit,12198675:doInit,[])
link(onViewPort,3410847:doPerspective,[(383,132)(383,167)])
link(Handle,15261923:Handle,[(349,114)(223,114)])
}
Add(Timer,9506849,231,203)
{
Interval=33
Enable=1
link(onTimer,1049454:doEvent1,[])
}
Add(GL_GTools,771925,350,189)
{
Point(doClear)
Point(doPushMatrix)
Point(doPopMatrix)
}
Add(Hub,1049454,280,203)
{
OutCount=6
link(onEvent1,771925:doClear,[(331,209)(331,195)])
link(onEvent2,771925:doPushMatrix,[(331,216)(331,202)])
link(onEvent3,13925991:doRotate,[(359,223)(359,251)])
link(onEvent4,771925:doPopMatrix,[(331,230)(331,209)])
link(onEvent5,10687484:doRotate,[(356,237)(356,307)])
link(onEvent6,12986311:doFlip,[(328,244)(328,139)])
}
Add(Hub,16299401,259,119)
{
OutCount=3
link(onEvent1,12986311:doInit,[])
link(onEvent2,16131419:doWork2,[])
link(onEvent3,9506849:doTimer,[(301,139)(301,177)(221,177)(221,209)])
}
Add(GL_GluTools,12198675,413,119)
{
link(onInit,1101264:doEnabled,[])
}
Add(GL_Light,14989894,630,119)
{
}
Add(GL_Options,1101264,455,119)
{
link(onEvent,5851269:doEnabled,[])
}
Add(GL_Options,5851269,504,119)
{
Flag=1
link(onEvent,5809249:doEnabled,[])
}
Add(GL_Options,5809249,546,119)
{
Flag=2
link(onEvent,15567448:doEnabled,[])
}
Add(GL_Perspective,3410847,413,161)
{
Fovy=20
}
Add(HubEx,16131419,315,119)
{
link(onEvent,12986311:doViewPort,[])
}
Add(GL_Options,15567448,588,119)
{
Flag=8
link(onEvent,14989894:doEnabled,[])
}
Add(GL_Sphere,14716319,532,245)
{
Radius=0.5
Slices=60
Stacks=60
link(onDraw,1073920:doTranslate,[])
}
Add(GL_Color,13761942,490,245)
{
Color=255
link(onColor,14716319:doDraw,[])
}
Add(GL_Cylinder,6839709,721,245)
{
BaseRadius=0.6
TopRadius=0.6
Slices=90
Stacks=1
}
Add(GL_Color,3710676,679,245)
{
Color=32768
Alpha=0.6
link(onColor,6839709:doDraw,[])
}
Add(GL_Material,7431954,630,245)
{
Side=1
Ambient=8421376
Specular=57600
Emission=32896
Shininess=128
link(onSet,3710676:doColor,[])
}
Add(GL_Material,4670547,448,245)
{
Diffuse=0
Specular=16777215
Shininess=50
link(onSet,13761942:doColor,[])
}
Add(Gl_Translate,1073920,581,245)
{
Z=-0.5
link(onTranslate,7431954:doSet,[])
}
Add(GL_Rotate,13925991,399,245)
{
Angle=90
Y=1
link(onRotate,4670547:doSet,[])
}
Add(GL_Rotate,10687484,399,301)
{
Angle=5
X=1
Y=1
Z=1
}

карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 1304
Рейтинг: 405
#8: 2008-11-27 17:53:56 ЛС | профиль | цитата
Sniper36 писал(а):
У меня нету артефактов

При этом скромно умолчать, что колличество полигонов цилиндра по долготе = 1 .
Заметил что только когда увидел что цилиндр просвечивается с отсечениями.
Кстати можно использовать двухстороннее освещение. (GL_Main)
code_10781.txt

карма: 3

0
файлы: 1code_10781.txt [2.6KB] [198]
Гость
Ответов: 17029
Рейтинг: 0
#9: 2008-11-27 17:55:47 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-10 05:39:57
карма: 0

0
Ответов: 1304
Рейтинг: 405
#10: 2008-11-27 18:16:54 ЛС | профиль | цитата
Для цилиндра нет, а для сферы очень даже нужно когда к примеру делаешь планету с атмосферой.
code_10782.txt

карма: 3

0
файлы: 1code_10782.txt [2.7KB] [224]
Ответов: 1088
Рейтинг: 112
#11: 2008-11-27 19:01:04 ЛС | профиль | цитата
Я встречался с этим, но как исправить не нашел
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 3851
Рейтинг: 159
#12: 2008-11-27 22:43:21 ЛС | профиль | цитата
я прошу прощения - вопрос от пешехода: а как поставить несколько лампочек, разнесённых в пространстве?
code_10799.txt здесь например..
карма: 0
начавший
0
файлы: 1code_10799.txt [2.8KB] [166]
Ответов: 1088
Рейтинг: 112
#13: 2008-11-28 07:29:26 ЛС | профиль | цитата
code_10801.txt
карма: 0
Время верстки: %cr_time% Текущее время: %time%
1
файлы: 1code_10801.txt [2.4KB] [169]
Голосовали:Andrey
Ответов: 3851
Рейтинг: 159
#14: 2008-11-28 12:35:50 ЛС | профиль | цитата
спасибо, а как материал сделать стекло?
------------ Дoбавленo:

Add(MainForm,15261923,126,217)
{
Left=20
Top=105
Width=440
Height=421
Point(MouseX)
Point(MouseY)
Point(onResize)
Point(Handle)
link(onCreate,16299401:doEvent1,[(170,237)(170,293)])
link(onResize,16131419:doWork1,[(242,244)])
}
Add(GL_Main,12986311,266,287)
{
link(onInit,12198675:doInit,[])
link(onViewPort,3410847:doPerspective,[(306,300)(306,335)])
link(Handle,15261923:Handle,[(272,268)(146,268)])
}
Add(Timer,9506849,147,364)
{
Interval=33
Enable=1
link(onTimer,1049454:doEvent1,[])
}
Add(GL_GTools,771925,266,350)
{
Point(doClear)
Point(doPushMatrix)
Point(doPopMatrix)
}
Add(Hub,1049454,196,364)
{
OutCount=7
link(onEvent1,771925:doClear,[(233,370)(233,356)])
link(onEvent2,771925:doPushMatrix,[(239,377)(239,363)])
link(onEvent3,13925991:doRotate,[(272,384)(272,412)])
link(onEvent4,771925:doPopMatrix,[(250,391)(250,370)])
link(onEvent5,16597153:doWork,[(247,398)(247,468)])
link(onEvent6,12986311:doFlip,[(243,405)(243,307)])
}
Add(Hub,16299401,182,287)
{
OutCount=3
link(onEvent1,12986311:doInit,[])
link(onEvent2,16131419:doWork2,[])
link(onEvent3,9506849:doTimer,[(224,307)(224,345)(133,345)(133,370)])
}
Add(GL_GluTools,12198675,329,287)
{
link(onInit,1101264:doEnabled,[])
}
Add(GL_Options,1101264,371,287)
{
link(onEvent,5851269:doEnabled,[])
}
Add(GL_Options,5851269,420,287)
{
Flag=1
link(onEvent,5809249:doEnabled,[])
}
Add(GL_Options,5809249,462,287)
{
Flag=2
link(onEvent,15567448:doEnabled,[])
}
Add(GL_Perspective,3410847,329,329)
{
Fovy=20
}
Add(HubEx,16131419,238,287)
{
link(onEvent,12986311:doViewPort,[])
}
Add(GL_Options,15567448,504,287)
{
Flag=8
link(onEvent,15390040:doEvent1,[])
}
Add(GL_Sphere,14716319,448,406)
{
Radius=0.7
Slices=9
Stacks=2
}
Add(GL_Color,13761942,406,406)
{
Color=12632256
Alpha=1000
link(onColor,14716319:doDraw,[])
}
Add(GL_Rotate,13925991,315,406)
{
Angle=90
Y=1
link(onRotate,4670547:doSet,[])
}
Add(GL_Rotate,10687484,315,462)
{
Angle=5
X=1
Y=1
Z=1
}
Add(GL_Light,7378905,770,406)
{
Index=1
Diffuse=16711935
Specular=0
link(onEnabled,7378905:doMove,[(813,412)(813,454)(758,454)(758,419)])
link(Point,10956286:Point3D,[])
}
Add(GL_Point3D,10956286,770,358)
{
X=2
Y=2
Z=2
}
Add(GL_Light,16410882,770,287)
{
Diffuse=16776960
Specular=0
link(onEnabled,16410882:doMove,[(814,293)(814,330)(758,330)(758,300)])
link(Point,15813314:Point3D,[])
}
Add(GL_Point3D,15813314,770,240)
{
X=-2
Y=2
Z=2
}
Add(Hub,15390040,609,287)
{
OutCount=4
link(onEvent1,5787898:doWork,[])
link(onEvent2,5598378:doWork,[(687,300)(687,412)])
link(onEvent3,7846784:doWork,[(674,307)(674,538)])
link(onEvent4,1772052:doWork,[(661,314)(661,650)])
}
Add(Check,5787898,714,287)
{
Caption="1"
link(onEvent,16410882:doEnabled,[])
}
Add(Check,5598378,707,406)
{
Caption="2"
link(onEvent,7378905:doEnabled,[])
}
Add(GL_Light,3112618,770,532)
{
Index=2
Diffuse=8454143
Specular=0
link(onEnabled,3112618:doMove,[(813,538)(813,580)(758,580)(758,545)])
link(Point,8703632:Point3D,[])
}
Add(GL_Point3D,8703632,770,484)
{
X=-2
Y=-2
Z=2
}
Add(Check,7846784,707,532)
{
Caption="3"
link(onEvent,3112618:doEnabled,[])
}
Add(GL_Light,7339896,770,644)
{
Index=3
Diffuse=65280
Specular=0
link(onEnabled,7339896:doMove,[(813,650)(813,692)(758,692)(758,657)])
link(Point,12096417:Point3D,[])
}
Add(GL_Point3D,12096417,770,594)
{
X=2
Y=-2
Z=2
}
Add(Check,1772052,707,644)
{
Caption="4"
link(onEvent,7339896:doEnabled,[])
}
Add(Check,16597153,266,462)
{
Caption="R"
link(onEvent,10687484:doRotate,[])
}
Add(GL_Material,4670547,364,406)
{
Diffuse=0
Specular=12632256
Shininess=100
link(onSet,13761942:doColor,[])
}
карма: 0
начавший
0
Ответов: 1088
Рейтинг: 112
#15: 2008-11-28 12:56:34 ЛС | профиль | цитата
Прозрачность чтоли?

#sha
Add(GL_Color,13761942,420,259)
{
Color=12632256
Alpha=0.4
}

карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)