![]() |
Несколько вопросов по Блитз3Д
Вопросы:
1. Как можно взаимодействовать с вершинами 3Д-модели? Вот, напримеря знаю номер вершины, которую нужно передвинуть, как это сделать средствами Blitz? 2. Как можно перемещать вершины не в пространстве, а по текстурным координатам? (опять же, если я знаю номар этой точки) 3. Как узнать местоположение вершины на экране? 4. Как можно заствить рендерить не в том разрешении, которое установлено, а задать его (с целью отрендерить в текстуру, в отражение, например)? 5. как можно разбить сурфэйс? Вот примерная схема того, что мне надо: ![]() З.Ы. если у кого-то имеется чтиво по этому поводу, буду рад ссылке *01 Заранеее спасибо за ответы. |
Re: Несколько вопросов по Блитз3Д
Описание команд, манипулирующих вершинами, можно найти в справке: 3D category -> Surface.
Чтобы отрендерить в текстуру, надо сделать текущим буфер текстуры. Код:
SetBuffer TextureBuffer(texture) |
Re: Несколько вопросов по Блитз3Д
alcoSHoLiK, за п.1 спасибо, почитаю.
Кстати, русского чтива на эту тему нет? Как поставить буфер текстуры я знаю, но как поменять разрешение? |
Re: Несколько вопросов по Блитз3Д
CreateTexture ( width,height[,flags][,frames] ) ;)
CreateTexture RenderTexture(512,512) |
Re: Несколько вопросов по Блитз3Д
Не, вы не поняли. Мне нада поменять разрешение самого рендера с целью увеличения производительности.
|
Re: Несколько вопросов по Блитз3Д
Надо вручную. Рендеришь в текстуру, масштабируешь ее, потом накладываешь. Отрендерить участок меньших размеров можно, предварительно задав Viewport.
|
Re: Несколько вопросов по Блитз3Д
alcoSHoLiK, как задать этот Viewport? Это будет влиять на производительность?
|
Re: Несколько вопросов по Блитз3Д
2. VertexTexCoords. Для изменения координат на текстуре. (Подсказка: 0-1 вся текстура, а не по пикселям)
3. Коммандами VertexX, VertexY, VertexZ узнаёшь координаты вершины, далее делаешь CameraProject в эти координаты, далее у тебя будут 2 координаты, возвращаемые коммандами: ProjectedX, ProjectedY. 5. Тут уже сложно, нужно писать непростой алгоритм, строк так на 100. Смотри в сторону LoD (Level of Detail), как-раз то что тебе и нужно, только ЛоД обычно уменьшает, а тебе просто наоборот. Что-то кстать видел в стандартных примерах. Если я пишу не слишком раскрыто, точнее не даю примеров или что-то подобное, то не обижайся, но просто я за то что-бы каждый кто обращается за помошью, не делал в итоге копи-паст, а сам создавал по чейто теории что-либо, так скилл наберётся у тебя, и у всех кто спрашивает, так лучше поверь ;) Цитата:
CameraViewPort |
Re: Несколько вопросов по Блитз3Д
ок, почти со всем разобрались, только:
будет ли CamViewport влиять на производительность? нету ли у кого чтива насчёт сурфейсов, а то стандартного хэлпа маловато будет. |
Re: Несколько вопросов по Блитз3Д
Чем меньше вьюпорт (окно просмотра), тем больше производительность.
|
alcoSHoLiK, пасибо. :)
А вот, например, я хочу отрендерить отражение в более низком разрешении - то я во сколько раз уменьшаю ВьюПорт, во столько же раз и увеличиваю CamZoom, так? Upd: Да, кстати, ещё 1 вопрос: Как спроецировать координаты из 3Д на плоскость экрана я понял, а как провернуть обратное? Например, у меня есть Курсо, который бегает по плоскости экрана и террайн. При клике мыши нужно определять ту точку террайна, куда указал курсор. Как это провернуть? (известны 2Д координаты курсора на экране и имеется террайн)? |
Re: Несколько вопросов по Блитз3Д
CameraPick - нужно только 2 координаты, из плоскости экрана ;)
|
Re: Несколько вопросов по Блитз3Д
И последнее: ни у кого не завалялось чтива про сурфейсы?
|
Часовой пояс GMT +4, время: 18:06. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot