Тема: Xors3D
Показать сообщение отдельно
Старый 06.03.2009, 14:46   #114
-=Jack=-
ПроЭктировщик
 
Аватар для -=Jack=-
 
Регистрация: 10.01.2009
Адрес: хз
Сообщений: 177
Написано 18 полезных сообщений
(для 44 пользователей)
Ответ: Xors3D

Сообщение от Максим Посмотреть сообщение
Помогите ,пожалуйста, перевести этот пример паралакса на Хорс , если такое возможно .
А что его конвертить то? Это ж FX-файл. Просто задавай нужные значения и всё

Кстать, вот чем мне не нравится ксорс, это то, что при переводе прог с обычного блица на ксорс ничего не получается, или криво получается.
И ещё - работа с вершинныеми буферами в ксорсе - жесть.
Когда я програмно создавал меш на 20000 поликов, в ксорсе меш генерировался около 150 секунд. А когда я питался создать меш на 200000 поликов я:
1. запустил прогу
2. сходил в туалет.
3. поел
4. немного (минут 15) посмотрел телевизор
Вернулся, но ксорс так и не загрузился
Можете протестить, может это только у меня так...


Include "xors3d.bb"

xGraphics3d(800,600,32,0)


Global info1$="Flag demo"
Global info2$="Features mesh deformation"

Const segs=10000,width#=4,depth#=.125

mesh=xCreateMesh()
surf=xCreateSurface( mesh )

For k=0 To segs
x#=Float(k)*width/segs-width/2
u#=Float(k)/segs
xAddVertex surf,x,1,0,u,0
xAddVertex surf,x,-1,0,u,1
Next

For k=0 To segs-1
xAddTriangle surf,k*2,k*2+2,k*2+3
xAddTriangle surf,k*2,k*2+3,k*2+1
Next

b=xLoadBrush( "b3dlogo.jpg" )
xPaintSurface surf,b

camera=xCreateCamera()
xPositionEntity camera,0,0,-5

light=xCreateLight()
xTurnEntity light,45,45,0

While Not xKeyHit(1)

ph#=MilliSecs()/4
; cnt=xCountVertices(surf)-1
; For k=0 To cnt
; x#=xVertexX(surf,k)
; y#=xVertexY(surf,k)
; z#=Sin(ph+x*300)*depth
; xVertexCoords surf,k,x,y,z
; Next
; xUpdateNormals mesh

If xKeyDown(26) xTurnEntity camera,0,1,0
If xKeyDown(27) xTurnEntity camera,0,-1,0
If xKeyDown(30) xMoveEntity camera,0,0,.1
If xKeyDown(44) xMoveEntity camera,0,0,-.1

If xKeyDown(203) xTurnEntity mesh,0,1,0,True
If xKeyDown(205) xTurnEntity mesh,0,-1,0,True
If xKeyDown(200) xTurnEntity mesh,1,0,0,True
If xKeyDown(20 xTurnEntity mesh,-1,0,0,True

xUpdateWorld
xRenderWorld
xText 10,10,xGetFPS()
xFlip
Wend
End


Это я ещё закоментировал "развеивание" флага. Про него я вообще молчу...

ЗЫ: В блице создание 20000 проходит почти мгновенно, 200000 он не тянет(индекный буфер не позволяет). Мой движок создаёт 200000 за 1-2 сек. 2000000 - за 8-10 сек.


ЗЗЫ: При этом всё, флаг в ксорсе ещё и не отображается, если не крутить.
__________________
Я бы изменил мир, но Бог не даёт исходников...
(Offline)
 
Ответить с цитированием