|
Xors3D Графический движок с поддержкой DirectX9 |
07.10.2009, 13:54
|
#256
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: Xors3D
1) Попиксельное освещение делается только на шейдерах.
2) В примерах есть. Если коротко - постэффект это такой пиксельный шейдер который вешается на полноэкранный квад, на который натянута текстура с рендером сцены.
3) Стоит. Ничего лучше пока вроде и не придумали для реалтайма. Скорость достигается всякими ухишрениями. Вообще тени очень сильно зависят от конкретной ситуации, порой можно и без PSSM обойтись (например когда вид сверху, и захватывается не большой участок карты). К тому же PSSM рендерит не всю сцену целиком несколько раз, а только то что попадает в сплит, но тут уже все упирается в организацию сцены.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Knightmare за это полезное сообщение:
|
|
08.10.2009, 10:55
|
#257
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Xors3D
А если у меня затайленая 2-3 текстурами модель, то как тогда на модель накладывать шейдер?
|
(Offline)
|
|
08.10.2009, 12:22
|
#258
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Xors3D
спокойно
смотри примеры
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Mr_F_ за это полезное сообщение:
|
|
13.10.2009, 11:39
|
#259
|
Бывалый
Регистрация: 06.04.2009
Сообщений: 612
Написано 276 полезных сообщений (для 858 пользователей)
|
Ответ: Xors3D -Туманыч
Собственно я наверно уже надоел товарищу Knightmar'у, но всё-же
Заметил условный баг тумана. Пример смотрим в аттаче.
Сначала попробуйте, подлететь к центру(перекрестию) а затем полетайте вдоль дорожек, в некоторых местах мы входим в "облако"(границу), видимо из за не-обновления позиции "тумана" в след за камерой.
Пишу тут потому что не уверен, что это не моей кривости рук дело
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Mhyhr за это полезное сообщение:
|
|
13.10.2009, 15:48
|
#260
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Xors3D
с туманом тоже видел баг, говорил найту уже
|
(Offline)
|
|
16.10.2009, 07:15
|
#261
|
Разработчик
Регистрация: 08.03.2007
Сообщений: 530
Написано 31 полезных сообщений (для 36 пользователей)
|
Ответ: Xors3D
Вот небольшой баг, который сложно им считать, но всеже уязвимость колизии на лицо. Сфера ,падающая вниз, проскакивает через куб.
Попробовал обойти его, к удивлению больше наткнутся на подобное не смог
; Xors3D header file
Include "C:\Programs\Blitz3D\userlibs\xors3d.bb"
xGraphics3D 800,600,32,0
xSetBuffer xBackBuffer()
pxCreateWorld(0, "сможешь угадать?)))")
pxSetGravity(0, -10, 0)
;;;Creat
camera=xCreateCamera ()
xPositionEntity (camera,0,5,-20)
xRotateEntity camera,0,0,0
light=xCreateLight()
xRotateEntity light,90,0,0
plane=xCreateCube()
;ground_tex=xLoadTexture("terrain1.jpg")
;xScaleTexture (ground_tex,0.05,0.05)
xPositionEntity (plane,0,-1,0)
xEntityTexture plane,ground_tex
xEntityType plane,1
xScaleEntity(plane,500,0.1,500)
Cube1=xCreateCube()
xPositionEntity(Cube1,10,5,0)
xScaleEntity(Cube1,5,5,5)
xEntityType(Cube1,1)
Cube=xCreatesphere()
xPositionEntity(Cube,20,45,0)
xScaleEntity(Cube,5,5,5)
xEntityRadius (Cube,5)
xEntityType(Cube,2)
Global jump,chislo1,inval,Kdown,V#=0.1
CreateUser(0,camera,0,8,-110,0)
xCollisions(2,1,2,2)
;_____________________________________________________________________________________________________
While Not xKeyHit(1)
If xEntityCollided(Cube,1)
x=xCollisionX(Cube,0)
;Stop
Else
xMoveEntity(Cube,0,-0.01,0)
EndIf
pxRenderPhysic(140,1)
mys#=xMouseYSpeed()
mxs#=xMouseXSpeed()
;IntervalKey()
Gravitate()
Update_user(camera,mxs,mys)
xUpdateWorld()
xRenderWorld
xText 10,10, "chislo1="+chislo1
xText 10,20, "XSurface="+XSurface
xText 10,30, "Xset="+set
xFlip
Wend
;-----------------------------------------------------------------------------------------------------
End
Type User
Field Model,camera
Field Body,Body2,mash
Field Pivot,Pivot2
Field Shift#
End Type
Type GravEnt
Field a#
Field v#
Field GravEntity,GravEntity2
End Type
Function Update_user(camera,mxs#,mys#)
For Us.User = Each User
If mys>30 Then mys=30
If mys<-30 Then mys=-30
If mxs>30 Then mxs=30
If mxs<-30 Then mxs=-30
xTurnEntity camera,mys/5,0,0
xTurnEntity Us\Pivot,0,-mxs/5,0,1
If xKeyDown(32)=True Then xMoveEntity Us\Pivot,V,0,0
If xKeyDown(30)=True Then xMoveEntity Us\Pivot,-V,0,0
If xKeyDown(31)=True Then xMoveEntity Us\Pivot,0,0,-V
If xKeyDown(17)=True Then xMoveEntity Us\Pivot,0,0,V
If xKeyDown(42)=True
V=V+0.0002
Else
V=V-0.0001
EndIf
If V>0.1 V=0.1
If V<0.03 V=0.03
Next
u#=80
xMoveMouse xGraphicsWidth()*0.5,xGraphicsHeight()*0.5
xHidePointer
If Abs(xEntityPitch#(camera))>u# xRotateEntity camera,(u#)*Sgn(xEntityPitch#(camera)),xEntityYaw(camera),0
End Function
Function CreateUser(ent,camera, pos_x, pos_y, pos_z,h#)
Us.User = New User
Us\Pivot=xCreateSphere(5)
Us\Pivot2=xCreateSphere(5)
If ent>0
Us\Model=ent
Else
Us\Model=xCreateCube()
EndIf
NewGravEnt(Us\Pivot)
Us\camera=camera
xPositionEntity Us\Model, pos_x,pos_y-h,pos_z
xPositionEntity Us\Pivot, pos_x,pos_y,pos_z
xPositionEntity Us\camera, pos_x,pos_y+h+6,pos_z
xEntityParent(Us\Model,Us\Pivot)
xEntityParent(Us\camera,Us\Pivot)
;Us\mash = xCreateCube()
;xScaleEntity(Us\mash,0.05,0.05,0.05)
End Function
Function NewGravEnt(entity)
grv.GravEnt= New GravEnt
grv\GravEntity=entity
xScaleEntity(grv\GravEntity,2,2,2)
xEntityType grv\GravEntity,2
xEntityRadius(grv\GravEntity,2)
;xHideEntity(entity)
End Function
Function Gravitate()
For grv.GravEnt= Each GravEnt
If Not xEntityCollided (grv\GravEntity,1)
grv\a=grv\a-0.0001
grv\v=grv\v+grv\a/200
If grv\v>0.1 grv\v=0.1
Else
xLinePick(xEntityX(grv\GravEntity),xEntityY(grv\GravEntity),xEntityZ(grv\GravEntity),0,-2,0)
If xPickedEntity()<>0
grv\a=0
grv\v=0
Else
grv\a=grv\a-0.0001
grv\v=grv\v+grv\a/200
If grv\v>0.1 grv\v=0.1
EndIf
If xKeyHit (57)
grv\v=0.02
grv\a=0.01
EndIf
EndIf
xMoveEntity grv\GravEntity,0,grv\v,0
;If xEntityCollided(grv\GravEntity,1) x=xCollisionX(grv\GravEntity,CountCollisions (grv\GravEntity)-1)
Next
End Function
Последний раз редактировалось CRASHER, 17.10.2009 в 20:11.
|
(Offline)
|
|
17.10.2009, 12:12
|
#262
|
Бывалый
Регистрация: 06.04.2009
Сообщений: 612
Написано 276 полезных сообщений (для 858 пользователей)
|
Ответ: Xors3D
Возможно я что то не доглядел(хорошо бы с медией выложить), но зачем смешивать (x) & (px) колизии?
|
(Offline)
|
|
17.10.2009, 20:12
|
#263
|
Разработчик
Регистрация: 08.03.2007
Сообщений: 530
Написано 31 полезных сообщений (для 36 пользователей)
|
Ответ: Xors3D
pinqin, а чего смешного?))) ты запускал?
Если да то еще запусти. Я пару функций не доложил, уже поправил
|
(Offline)
|
|
17.10.2009, 20:49
|
#264
|
Бывалый
Регистрация: 06.04.2009
Сообщений: 612
Написано 276 полезных сообщений (для 858 пользователей)
|
Ответ: Xors3D
pinqin, а чего смешного?))) ты запускал?
|
1) смешивать- смешного
Я был серьЁзен...)))
2) Не запускал по загадочным обстоятельствам...:p
|
(Offline)
|
|
26.10.2009, 16:58
|
#265
|
Разработчик
Регистрация: 28.12.2008
Адрес: Алматы
Сообщений: 486
Написано 252 полезных сообщений (для 1,160 пользователей)
|
Ответ: Xors3D
У меня такой вопрос при экспортировании моделей с альфа каналом (трава, листва деревьев) наблюдается такой эффект, трава полу-прозрачна смотрите скриншот. Загружал текстурированную модель через pipiline и текстурил через xtextureentity но эффект остается(. В Blitz3d все пучком такой эффект только в Xors3d.
|
(Offline)
|
|
26.10.2009, 17:01
|
#266
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: Xors3D
Это один из минусов того примера использования PSSM который мы вкладывали. В идеале тени надо накладывать на каждый объект по отдельности, а не на всю сцену сразу. В принципе подобные артефакты можно свести к минимуму допиливанием шейдера.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
22.01.2010, 21:55
|
#267
|
AnyKey`щик
Регистрация: 03.06.2009
Сообщений: 9
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Xors3D
А как в Xors3D проиграть видео-файл,в обычном ББ реализуется просто, а при переводе команд под ксорс видео не отображается.
Разьясните пожалуйста.
|
(Offline)
|
|
23.01.2010, 14:53
|
#268
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Xors3D
никак
|
(Offline)
|
|
14.02.2010, 08:43
|
#269
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: Xors3D
Решил поюзать сее творение на С++. Возник вопрос. Сначала надо создать WinApi шными средствами окно а потом уже подставлять его HWND в xSetRenderWindow? если не так то будьте добры, объясните...
|
(Offline)
|
|
14.02.2010, 12:26
|
#270
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Ответ: Xors3D
создавай консольное приложение !!
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Похожие темы
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Xors3d wants YOU! |
.Squid |
Xors3D |
33 |
13.01.2013 23:34 |
Xors3D для D |
johnk |
Проекты C++ |
8 |
09.08.2009 14:18 |
Xors3D for .NET? |
johnk |
C++ |
7 |
06.08.2009 09:34 |
Xors3D |
ЛысыЙ_Чук-Иванчук |
Модули для BlitzMax |
145 |
18.06.2009 21:17 |
xors3d |
NitE |
3D-программирование |
9 |
02.04.2009 22:21 |
Часовой пояс GMT +4, время: 20:50.
|