forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Имитация водной поверхности. (http://forum.boolean.name/showthread.php?t=15000)

dsd 04.07.2011 21:40

Ответ: Имитация водной поверхности.
 
Вы мне еще скажите, что у мну аватарка каким-то детсадовцем вылеплена

moka 04.07.2011 21:44

Ответ: Имитация водной поверхности.
 
Аватарка - норма, а вот моделька - гомосятская.. :D
Код лучше..

dsd 04.07.2011 21:47

Ответ: Имитация водной поверхности.
 
Ага, значит красивые сиськи, а какая будет жопа, ммм... Имхо, в модели для игр жопа должна быть красивой, ибо перед глазами все время :-D

Mr_F_ 04.07.2011 22:07

Ответ: Имитация водной поверхности.
 
Цитата:

Вы мне еще скажите, что у мну аватарка каким-то детсадовцем вылеплена
рот, глаза кривые.
аналогично с набровными дугами. нос великоват тоже.
че у него сверху между рогами - непонятно, как и то, что с боков торчит.

dsd 04.07.2011 22:53

Ответ: Имитация водной поверхности.
 



А по моему для шойдерных перверсий в хорсе пойдет уже :)

Кому нинада не качайте :-D

NitE 04.07.2011 23:31

Ответ: Имитация водной поверхности.
 
Аватарка тобой вылеплена ?
В модели слишком много полигонов. Развернутое мнение по поводу модели в спойлере, очень не рекомендую читать если не терпишь критики.

.
.
.
.
.
Лучше уничтожь свою модель и все упоминания о ней. Она годится разве что психику детям колечить, перманентно. Я во время трапезы пролистывал форум, так еда чуть не оказалась на прежнем месте, когда увидел твою модельку. Реально, даже слово не подобрать. Это просто кал. Говно без права на существование. Ни о какой аргументированной критике и речи быть не может. И что за бред с названием ? Какая на*уй нянька гг ? Я думаю, что твои недавние опасения насчет старческой деменций вполне обоснованны.

Я предупреждал, ок.

dsd 04.07.2011 23:34

Ответ: Имитация водной поверхности.
 
Nite, тесселяцию вырубать пробовал?

А мне нравица :-D

Хм... аватарка не моя, тут ребенок под ногами крутился трехлетний, кусок пластилина об пол мял получилось это... Честно.

HolyDel 04.07.2011 23:37

Ответ: Имитация водной поверхности.
 
если бы у меня была такая нянька - я бы был заикой

NitE 04.07.2011 23:38

Ответ: Имитация водной поверхности.
 
Я модельку не качал и не буду, я про то что на скринах.

dsd 04.07.2011 23:40

Ответ: Имитация водной поверхности.
 
Ну и что, что кал, но это еще будет калинку-малинку танцевать в моем мега D-тайтле :)

Mr_F_ 05.07.2011 00:02

Ответ: Имитация водной поверхности.
 
Цитата:

Лучше уничтожь свою модель и все упоминания о ней. Она годится разве что психику детям колечить, перманентно.
ну я бы так не сказал - задатки есть, тут хотя бы сетка под анатомию начата. я думаю как начало процесса моделинга - это ок, но работы ещё дофига, и я бы не советовал показывать в таких ранних стадиях.

dsd 05.07.2011 16:33

Ответ: Имитация водной поверхности.
 


Правильно ли я нашел уравнения клипплейнов для камеры в её координатах?
левый X+Z=0
правый X-Z=0
верхний Y-2Z=0
Нижний Y+2Z=0
Или углы другие?

Если в модели будет больше вершин чем нужно в 4 раза, при том же количестве полигонов и их положении в пространстве. То для видеокарты в принципе разницы между первой и второй моделью почти нет?

dsd 05.07.2011 22:42

Ответ: Имитация водной поверхности.
 
Код:

Include "xors3d.bb"
Global pivot,camera,mxs#,mys#,Light,ball,camera1

Dim ScreenData#(5,3)

xGraphics3D(800,600, 32,0, 0)

pivot=xCreatePivot()
camera1 = xCreateCamera(pivot)
camera=xCreateCamera(camera1)
xRotateEntity camera,90,0,0
xCameraProjMode camera,0
light = xCreateLight()


;debufcam=xCreateCamera(camera)
;xPositionEntity debufcam,0,0,50
;xCameraViewport debufcam,0,0,300,300
;xPointEntity debufcam,camera
debufcam2=xCreateCamera(camera1)
xPositionEntity debufcam2,0,50,0
xCameraViewport debufcam2,200,0,200,200
xPointEntity debufcam2,camera1

lefttop=xCreateCube()
xEntityColor lefttop,255,0,0
leftdown=xCopyEntity(lefttop)
righttop=xCopyEntity(lefttop)
rightdown=xCopyEntity(lefttop)
center=xCopyEntity(lefttop)


For i=0 To 50
gg=xCreateCube()
xPositionEntity gg,Rnd(0,50),0,Rnd(0,50)
Next

While(Not (xKeyHit(KEY_ESCAPE) Or xWinMessage("WM_CLOSE")))
MindMassage()

xPositionEntity leftdown,ScreenData#(0,0),ScreenData#(0,1),ScreenData#(0,2)
xPositionEntity lefttop,ScreenData#(1,0),ScreenData#(1,1),ScreenData#(1,2)
xPositionEntity righttop,ScreenData#(2,0),ScreenData#(2,1),ScreenData#(2,2)
xPositionEntity rightdown,ScreenData#(3,0),ScreenData#(3,1),ScreenData#(3,2)
xPositionEntity center,ScreenData#(4,0),ScreenData#(4,1),ScreenData#(4,2)

xUpdateWorld
xRenderWorld()
Control(0.1,1)
xText 10,50,ScreenData#(0,0)
xText 10,60,ScreenData#(0,1)
xText 10,70,ScreenData#(0,2)

xText 80,50,ScreenData#(1,0)
xText 80,60,ScreenData#(1,1)
xText 80,70,ScreenData#(1,2)

xText 160,50,ScreenData#(2,0)
xText 160,60,ScreenData#(2,1)
xText 160,70,ScreenData#(2,2)

xText 240,50,ScreenData#(3,0)
xText 240,60,ScreenData#(3,1)
xText 240,70,ScreenData#(3,2)

xText 320,50,ScreenData#(4,0)
xText 320,60,ScreenData#(4,1)
xText 320,70,ScreenData#(4,2)

        xFlip()
Wend

End


Function MindMassage()

xTFormVector 0,1,0,0,camera
a#=xTFormedX()
b#=xTFormedY()
c#=xTFormedZ()

xTFormPoint 0,0,0,0,camera
x1#=xTFormedX()
y1#=xTFormedY()
z1#=xTFormedZ()

d#=xEntityY(camera,1)

; ax+by+cz+d=0
;ищи левый нижний угол
;пересечение X=-z и Y=-2z
;подставляю в первое уравнение
;
Z00#=-D/(c-a-2*b)
X00#=-z00
Y00#=-2*z00
xTFormPoint x00,y00,z00,camera,0
ScreenData#(0,0)=xTFormedX()
ScreenData#(0,1)=xTFormedY()
ScreenData#(0,2)=xTFormedZ()

; ax+by+cz+d=0
;ищи левый верхний угол
;пересечение X=-z и Y=2z
;подставляю в первое уравнение
;
Z01#=-D/(c-a+2*b)
X01#=-z01
Y01#=2*z01
xTFormPoint x01,y01,z01,camera,0
ScreenData#(1,0)=xTFormedX()
ScreenData#(1,1)=xTFormedY()
ScreenData#(1,2)=xTFormedZ()

; ax+by+cz+d=0
;ищи правый верхний угол
;пересечение X=z и Y=2z
;подставляю в первое уравнение
;
Z11#=-D/(c+a+2*b)
X11#=z11
Y11#=2*z11
xTFormPoint x11,y11,z11,camera,0
ScreenData#(2,0)=xTFormedX()
ScreenData#(2,1)=xTFormedY()
ScreenData#(2,2)=xTFormedZ()

; ax+by+cz+d=0
;ищи правый нижний угол
;пересечение X=z и Y=-2z
;подставляю в первое уравнение
;
Z10#=-D/(c+a-2*b)
X10#=z10
Y10#=-2*z10
xTFormPoint x10,y10,z10,camera,0
ScreenData#(3,0)=xTFormedX()
ScreenData#(3,1)=xTFormedY()
ScreenData#(3,2)=xTFormedZ()

;ищи центр
xTFormPoint (x01+x10+x11+x00)/4,(y01+y10+y11+y00)/4,(z01+z10+z11+z00)/4,camera,0
ScreenData#(4,0)=xTFormedX()
ScreenData#(4,1)=xTFormedY()
ScreenData#(4,2)=xTFormedZ()

End Function

Function control(speed#,mousesensitivity#)
If xKeyDown(key_1) Then xWireframe(True) Else xWireframe(False)
        xText(10, 10, "FPS: " + xGetFPS())       
                xText(10,30,"Trisinview: "+xTrisRendered ())
mxs#=mxs#+(xMouseXSpeed()/5.0)
mys#=mys#+(xMouseYSpeed()/5.0)
xRotateEntity (camera1,mousesensitivity#*mys#,-mousesensitivity#*mxs#,0)
xMoveMouse xGraphicsWidth()/2,xGraphicsHeight()/2
If xKeyDown(17) Or xKeyDown(200) xMoveEntity camera1,0,0,speed#
If xKeyDown(31) Or xKeyDown(208) xMoveEntity camera1,0,0,-speed#
If xKeyDown(30) Or xKeyDown(203) xMoveEntity camera1,-speed#,0,0
If xKeyDown(32) Or xKeyDown(205) xMoveEntity camera1,speed#,0,0
xPositionEntity pivot,xEntityX#(camera1,1),xEntityY#(camera1,1),xEntityZ#(camera1,1)
xPositionEntity camera1,0,0,0
End Function

Люди, реально, какие углы у камеры? Кто-нибудь знает или нет?

moka 05.07.2011 22:42

Ответ: Имитация водной поверхности.
 
Матрицу нада юзать скорее всего а не углы..

dsd 05.07.2011 22:44

Ответ: Имитация водной поверхности.
 
Мне надо с поверхности xz отсечь четырехугольник и зарисовать его квадратиками, как мне тут поможет матрица? Разве что Нео, блин.

Сама матрица без исходных данных тут как-то бес толку.

Читал хелп, медитирую теперь на:
Цитата:

BBDECL void BBCALL xCameraProject2D ( Camera * camera,
int x,
int y,
float zDistance
)

Projects the 2D screen coordinates on to the world coordinates.

Parameters:
camera Camera handle
x Screen coordinate on X axis
y Screen coordinate on Y axis
zDistance Distance of the projected point from camera near plane
И на :
Цитата:

BBDECL D3DXMATRIX* BBCALL xGetProjectionMatrix ( Camera * camera )

Returns a pointer to camera's projection matrix.

Parameters:
camera Camera handle
Очень лаконичные пояснения команд :-D


Часовой пояс GMT +4, время: 02:39.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot