LINUX.ORG.RU

История изменений

Исправление linuhs_user, (текущая версия) :

Я же писал как можно выбирать 3D объекты, а с лучем еще коллизии проверять надо. Ну а сам луч это легко:

vec3 luch_direct;
vec3 luch_pos;
int luch_len, i;

for(i = 0;i != luch_len;i++) {
  if(detect_collision(world, luch_pos)) {
     ....
     break;
  }
  luch_pos = vec_add(luch_pos, luch_direct);
}
luch_direct это смещение которое нужно применять, его найти можно по косинусам, синусам.

Исходная версия linuhs_user, :

Я же писал как можно выбирать 3D объекты, а с лучем еще коллизии проверять надо. Ну а сам луч это легко:

vec3 luch_direct;
vec3 luch_pos;
int luch_len, i;

for(i = 0;i != luch_len;i++) {
  if(detect_collision(world, luch_pos)) {
     ....
     break;
  }
  luch_pos = vec_add(luch_pos, luch_direct);
}