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=14891)

St_AnGer 14.06.2011 22:35

Ответ: Несколько вопросов
 
Цитата:

Сообщение от impersonalis (Сообщение 191535)
...ничего не ясно

Это он имел ввиду что если создать окно (допустим 640х480) с кубом (1х1х1 блицевский размер), - куб будет иметь размер 1х1х1 на экране. Если создать окно 1280х480 - куб будет иметь размер на экране 2х2х2. А если создать окно 640х1024 - куб как был 1х1х1, так и останется, только сместится относительно центра экрана. Мне тоже интересно почему так.

упд. Вспомнил что где то про это уже читал. Надо поискать срочно

moka 15.06.2011 01:54

Ответ: Несколько вопросов
 
Да потому что камере пофигу какое разрешение, там всё зависит от FOV (пирамида обзора, точнее, на самом деле обрезанная, типо трапеции).
Единица в мире, не имеет никакого отношения к пикселям на экране.
Это как на листике нарисовать график от -1 до 1, и уместить его в 5см шириной листок. Или то же самое нарисовать на листке в 10см шириной. От размера листка, сами данные не будут меняться - график будет от -1 до 1, не в зависимости на чём рисуете.

Матричные преобразования будут проецировать всё что нужно, и если хочешь больше вместить в экран, либо ставь объект дальше, либо меняй градус обзора (чтоб больше обхватывал).
В математике с матрицами, нету никаких пикселей и т.п.

Если эта тема интерестна настоль глубоко. То ты начал с Blitz3D немного зря. Т.к. этот инструмент как раз даёт возможность писать логику и графику, не утруждая себя такими вопросами. Таким образом ты можешь понять общую картинку игростроя, весьма правда поверхностно и грубо.
А если интерестны детали, то бери в руки DirectX или OpenGL и C++, и вперёд, там как раз это всё и с самого начала на тебя свалиться, и будешь понимать такие вещи, иначе не сможешь писать свой двиг на этих GAPI.

Hagrael 15.06.2011 11:18

Ответ: Несколько вопросов
 
Касательно MouseXSpeed():
Вот в чем была проблема: я думал, что скорость возвращается в пкс/с, а оказалось, пкс/{n времени}.
При старте программы mouse_1=0, и чтобы обновить координату, мы использовали однократный вызов функции MouseXSpeed() в начале программы. Тогда возвращалось какое-то число, которое нам нужно не было, и обновлялась переменная mouse_1.
Сейчас я понимаю, что лучше и правда знать, на сколько мышь сдвинулась с последнего момента вызова функции MouseXSpeed().
Большое спасибо, impersonalis, что объяснили.

Касательно буферизации: почитаю.

Касательно размеров:
Спасибо за хороший пример, но вот в Blitz3D, видимо, по-другому. Он считает, что если лист широкий, то нужно сделать и размеры фигур побольше! И я думаю, что этим достигается кросс-размерность экрана в 3D. Т. е. если у тебя разрешение 800x600, то ты увидишь куб со стороной 20 пикселей (что будет составлять 1/40 экрана); если у тебя разрешение 1280*1024, то ты увидишь куб со стороной 32 пикселя (опять же что будет составлять 1/40 экрана). Это, конечно, только гепотеза, но я в ней абсолютно уверен. Однако по какой же формуле можно рассчитать сторону куба (если камера расположена впритык к нему)?

SBJoker 15.06.2011 12:29

Ответ: Несколько вопросов
 
*Он нифига непонял

Hagrael 15.06.2011 13:01

Ответ: Несколько вопросов
 
MoKa, не хотелось бы уходить с Blitz3D, хотя бы пока, т. к. я только-только на нем закрепился. Но если на то пошло, то что вы конкретно посоветуете? "Голый" C++? Без какого-либо движка?

moka 15.06.2011 13:35

Ответ: Несколько вопросов
 
Цитата:

Сообщение от Hagrael (Сообщение 191580)
MoKa, не хотелось бы уходить с Blitz3D, хотя бы пока, т. к. я только-только на нем закрепился. Но если на то пошло, то что вы конкретно посоветуете? "Голый" C++? Без какого-либо движка?

Ну если интерестна база и основы-основ. То да, С++ с голым GAPI (DirectX/OpenGL).

Hagrael 15.06.2011 15:16

Ответ: Несколько вопросов
 
MoKa, я уже приступил =)

moka 15.06.2011 15:20

Ответ: Несколько вопросов
 
Цитата:

Сообщение от Hagrael (Сообщение 191591)
MoKa, я уже приступил =)

Супер! Тогда, будем ждать инфы с "поле боя" ;)

maxturbo 15.06.2011 15:24

Ответ: Несколько вопросов
 
Цитата:

Сообщение от Hagrael (Сообщение 191591)
MoKa, я уже приступил =)

Вот начнешь с С++ и GAPI DirectX & OpenGL, тогда и поймешь все то, что тебя сейчас интересует... Там тебе и буферы и матрицы и еще куча чего встретится... :) Начинай изучать синтаксис С++ и Go по этой ссылке УРОКИ СОЗДАНИЯ ИГРОВОГО ДВИЖКА С++ and DirectX SDK

moka 15.06.2011 15:32

Ответ: Несколько вопросов
 
Цитата:

Сообщение от maxturbo (Сообщение 191593)
Вот начнешь с С++ и GAPI DirectX & OpenGL, тогда и поймешь все то, что тебя сейчас интересует... Там тебе и буферы и матрицы и еще куча чего встретится... :) Начинай изучать синтаксис С++ и Go по этой ссылке УРОКИ СОЗДАНИЯ ИГРОВОГО ДВИЖКА С++ and DirectX SDK

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

maxturbo 15.06.2011 15:50

Ответ: Несколько вопросов
 
Цитата:

Сообщение от MoKa (Сообщение 191594)
Только пожалуйста, не нужно уроков - это не хороший метод само-обучения.
Если нужна аргументация, могу предоставить, но прошу, не нужно туториалов и уроков - берите документацию, ставьте цель и старайтесь думать самостоятельно - это дольше, но несравнимо лучше..

Не спорю... Документация всегда будет нужна, и голова тоже... :)

Hagrael 15.06.2011 16:18

Ответ: Несколько вопросов
 
Спасибо за ссылку, но у меня уже есть учебник.


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

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