{{notification.text}}

MirGames

koljakolja

Зарегистрирован 23.10.08 04:22
Последний раз был в сети 27.11.10 21:40
Программирование
01.11.10 02:14
Цитата(DRON @ 31.10.2010 - 23:32) [snapback]105197[/snapback]

Реально как я убедился проще научить человека программировать если у него нет опыта дальше лабораторок, чем научить его высшей математике и анализу, логике, алгоритмизации, техническому английскому и т.д., а потом систематизировать все эти знания что бы он мог их произвольно использовать.

ваще вот с этим согласен, я помню купил книгу какую-то по графике - ниxера не понял - стал читать книги по матану и линалу

ну в пхпкодинге имхо кроме пхп ничего знать и не надо :D

Цитата(DRON @ 31.10.2010 - 23:32) [snapback]105197[/snapback]

Да еще, если интересно могу выложить анкету на которую отвечают соискатели работы в компании нашей

Да, было б интересно
Программирование
01.11.10 00:34
Цитата(DRON @ 31.10.2010 - 21:59) [snapback]105191[/snapback]

Nikita Baksalyar
натерпелся от самоучек и быдлокодеров всякого кашмар :(


хмм, например?


Программирование
31.10.10 21:36
Цитата(Nikita Baksalyar @ 31.10.2010 - 02:15) [snapback]105175[/snapback]

Учи похапе - вот где золотая жила!
Его можно даже за один день выучить.


Вот, кстати, мне бы на работу в ближайший год устроиться бы. За скока реально выучить пхп шоб на работу взяли. Просто я кроме геймдева ничем особо не интересовался никогда, но в геймдев меня вряд ли возьмут - знаний маловато.

формально образования нет никакого помимо среднего - как к этому работодатели относятся ваще?
Assembler
27.09.09 23:40
Ага, ebx нету у amd64. Есть rbx.
Assembler
27.09.09 05:33
Ну, я какбэ разобрался уже :)
Assembler
27.09.09 01:43
У меня просто amd64, поэтому и не компилировалось.
Assembler
26.09.09 18:41
Надо написать простую функцию на ассемблере. В этом я ничего не понимаю.
Вот файл s.s:

.intel_syntax noprefix
.global lol
.type lol, @function
lol:
push ebx
ret

Результат:
$ cc s.s
s.s: Assembler messages:
s.s:6: Error: ambiguous operand size or operands invalid for `push'

Непонятно.
Времени в обрез )
Зеркала
16.08.09 23:08
Вот с помощью stencil'а я догадался как сделать только если зеркало будет где-нить на стене висеть. Про cut plane и рендер в текстуру не слышал, буду разбираться.

Пасиба. Всё ништяг )
Зеркала
16.08.09 22:11
Есть ли какие-нибудь алгоритмы для вывода зеркал? Что-то ничего придумать не могу.
Только нужно, чтобы всё отражалось даже, если зеркало находится где-нибудь внутри сцены, а не на полу\потолке\стенах и чтоб зеркало было не обязательно прозрачно со всех сторон.
Ну вот например как на самой первой карте quake3.
Коллизии С Ландшафтом
26.06.09 20:31
У меня так сделано: сначала находим в какой клетке находится игрок, далле вычитаем из координат игрока координаты начала клетки по x и y. Получаем два вектора. Далее прибавляем к точке начала клетки вектор x и c помощью линейной интерполяции находим точку z1. z1 минус точка начала = вектор v1. Тоже самое с y - это будет v2. v1+v2 - получаем высоту в нужной точке :) Вот..

Я вот так подумал, можно ещё представлять каждую клетку как плоскость и там сфера vs плоскость, например..
Мышка
22.05.09 01:23
Раньше делал так вращение камеры:
Код

void mouse(int x, int y)
{
    int dx = tx - x;
    int dy = ty - y;
    cam.rotateX(dy);
    cam.rotateY(-dx);
    glutPostRedisplay();
}


То есть мышка съезжает с центра экрана)

Сейчас уже требуется эту бадягу убрать. Пытаюсь сделать так:
Код

void mouse(int x, int y)
{
    int dx = tx - x;
    int dy = ty - y;
    cam.rotateX(dy);
    cam.rotateY(-dx);
    SetCursorPos(SW,SH);
    tx = SW;
    ty = SH;
    glutPostRedisplay();
}

SW, SH -серeдина окна.

Что тут не так?
Колбасит Камеру )
07.05.09 21:59
Я так посмотрел.. Наверное плохо объяснил? )
Кароче, есть класс камеры типа uvn(со своей системой координат: u-x, v-y, n-z). Есть методы rotateX и rotateY. По идее например вот rotateX должна вращать веторы v и n на a градусов вокруг вектора u(то есть бошка вертится вверх-вниз). И естественно они должны быть ортогональны друг другу, но из-за каких-то погрешностей в вычислениях они становятся не ортогональными. Чтобы это испаравить в методе, который записывает всё в матрицу modelview, перед собсна записью я провожу ортоганализацию след. образом:
n.norm();
u = up*n;
u.norm();
v = n*u;
Всё правильно... ? Вроде, да.. Все вектора ортоганальны если верить printf("%f ", (ВекторОдин.dot(ВекторДругой))); :) Тогда почему камеру колбасит ? ))))

Помогите

Ну и up - это, понятно (0,1,0)

всё заработало, пока ещё не разобрался почему, но векторы при нормализации не всегда становились единичными. Если вызвать .norm() много раз, то всё ок

Исправил ошибку:
было:

void Vector3D::norm()
{
X = X/getLength();
Y = Y/getLength();
Z = Z/getLength();
}

стало:
void Vector3D::norm()
{
double g = getLength();
X = X/g;
Y = Y/g;
Z = Z/g;
}
Колбасит Камеру )
07.05.09 15:34
Ладно... скажите как надо проводить ортогонализацию uvn перед тем как записавыть матрицу modelview
Колбасит Камеру )
07.05.09 04:34
uvn-камеру начинает колбасить если угло между n и осью Y становится градусов 20(ну, или 160). В чём может быть причина?

Вращение вокруг оси X выглядит так:

Код

void Camera::rotateX(float a)
{    
    float cs = cos(3.14159265/180*a);
    float sn = sin(3.14159265/180*a);

    n = ((cs*n) - (sn*v));
    v = ((sn*n) + (cs*v));

    setModelViewMatrix();
}
Физика
15.02.09 22:50
Во, супер
спасибо