Модератор: Mikle
Sneaks писал(а):когда мы загоняем в вертекс буфер вертекс, мы сразу загоняем и в индекс буфер по аналогии с вертекс буфером,
Sneaks писал(а):на каждую текстуру иметь свой буфер.
Sneaks писал(а):Сортирую по расстоянию
Sneaks писал(а):DrawPrimitiveUp не понятен.
Sneaks писал(а):слямзил у тебя рендер стейты и все заработало.
Обидно что не понимаю что произошло.
Sneaks писал(а):Вопрос: может ли? и если да, то в какую сторону копать?
Sneaks писал(а):Не уж то взрослые дядьки в своих крутых проектах морфинг объектов, такие как шевеление деревьев от ветра, в ручную изменяют координаты точек?
Sneaks писал(а):мне нужны именно цифры где точка(вертекс) окажется уже на моем фрейме(Форме или картинке - не важно)
Sneaks писал(а):Как это сделать без участия ДХ вкурсе, формулы имеются. Просто не хотелось бы пересчитывать это все самому по второму разу еще и медленней.
Vec3Subtract v, ThingPos, CamPos
Vec3Scale v, v, 1 / Vec3Dot(CamDir, v)
TestX = (Width + Vec3Dot(CamRight, v) / Tan(FovY / 2) * Height) * 0.5
TestY = (Height - Vec3Dot(CamUp, v) / Tan(FovY / 2) * Height) * 0.5
Dim v As D3DVECTOR, CamPos As D3DVECTOR, ThingPos As D3DVECTOR, CamDir As D3DVECTOR
Dim CamUp As D3DVECTOR, CamRight As D3DVECTOR
Dim Width As Single, Height As Single
MatrixLookAtLH Mtrx, Vec3(cam(0), cam(1), cam(2)), Vec3(cam(3), cam(4), cam(5)), Vec3(0, 10, 0)
CamPos.x = cam(0)
CamPos.y = cam(1)
CamPos.z = cam(2)
CamDir.x = Mtrx.m31
CamDir.y = Mtrx.m32
CamDir.z = Mtrx.m33
CamUp.x = Mtrx.m21
CamUp.y = Mtrx.m22
CamUp.z = Mtrx.m23
CamRight.x = Mtrx.m11
CamRight.y = Mtrx.m12
CamRight.z = Mtrx.m13
Height = IndBuff.ScaleHeight
Width = IndBuff.ScaleWidth
FovY = 90
ThingPos.x = 10
ThingPos.y = 30
ThingPos.z = 50
Vec3Subtract v, ThingPos, CamPos
Vec3Scale v, v, 1 / Vec3Dot(CamDir, v)
TestX = (Width + Vec3Dot(CamRight, v) / Tan(FovY / 2) * Height) * 0.5
TestY = (Height - Vec3Dot(CamUp, v) / Tan(FovY / 2) * Height) * 0.5
Line (TestX, TestY)-(TestX + 20, TestY + 20), 200, BF
Sneaks писал(а):Могу ли я тупо тягать таким образом направления и не ошибаюсь ли я в этом?
cam(0) - координата позиции камеры по Х
cam(1) - координата позиции камеры по У
cam(2) - координата позиции камеры по Z
cam(3) - координата позиции цели взора по Х
cam(4) - координата позиции цели взора по Y
cam(5) - координата позиции цели взора по Z
Vec3Subtract CamDir, vAt, CamPos 'vAt - тот вектор, который задаётся в MatrixLookAtLH
Vec3Normalize CamDir, CamDir
Vec3Cross CamRight, vUp, CamDir 'vUp - тот вектор, который задаётся в MatrixLookAtLH
Vec3Normalize CamRight, CamRight
Vec3Cross CamUp, CamDir, CamRight 'CamUp - направление вверх камеры
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2