Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: DirectX/OpenGL

  Все выпуски  

RFpro.ru: DirectX/OpenGL


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

Павел Юрьевич
Статус: 9-й класс
Рейтинг: 422
∙ повысить рейтинг »
Evgenijm
Статус: 10-й класс
Рейтинг: 241
∙ повысить рейтинг »
Solowey
Статус: 8-й класс
Рейтинг: 137
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / DirectX/OpenGL

Номер выпуска:41
Дата выхода:04.03.2011, 07:30
Администратор рассылки:Alexey G. Gladenyuk (Управляющий)
Подписчиков / экспертов:126 / 27
Вопросов / ответов:3 / 4

Вопрос № 67005: Доброго времени суток, уважаемые эксперты. Не могли бы вы подсказать повернуть камеру при использовании DirectX. Получилось почернуть камеру относительно определенной оси). А когда делаю так чтобы именно камера поворачивалась, то при управлении д...


Вопрос № 82823: Скажите пожалуйста где можно скачать кигу Джима Адамса "Программирование ролевых игр с DirectX"на английском или русском языках?...
Вопрос № 138607: Я вывел на экран окно с двумя маховичками для изменения параметров моей задачи и два поля для ввода двух других параметров. Как взять положение маховичка и передать его в качестве переменной в функцию,которая у меня считает точки графика? Аналогично,...

Вопрос № 67005:

Доброго времени суток, уважаемые эксперты.
Не могли бы вы подсказать повернуть камеру при использовании DirectX. Получилось почернуть камеру относительно определенной оси). А когда делаю так чтобы именно камера поворачивалась, то при управлении движением камерой она движется только по осям, никак не могу разобраться как сделать так чтобы после поворота камеры камера двигалась в соответствии нужным направлением(нажал вперед камера вперед и поехала).
Буду рад ссылкам на данную тему. Извините если такой вопрос уже задавался.
Заранее благодарен

Отправлен: 14.12.2006, 20:02
Вопрос задал: Mefisto
Всего ответов: 1
Страница вопроса »


Отвечает Mystic (Студент) :
Здравствуйте, Mefisto!
Новые координаты нужно расчитывать. Т.е. при движении камеры измениться могут все три (х,y,z) координаты, а не только одна. Поэтому вариант нажал вперед - увеличил х на 2 не подойдет. Если известен вектор, куда смотрит камера (а он должен быть известен), то новые координаты вычисляются просто:
x += Ax * v;
y += Ay * v;
z += Az * v;

(Ax Ay Az) - вектор, куда направлена камера. v - скорость движения камеры.
Вроде бы так, точно не помню) Россия, Москва
Адрес: Москва, Зеленоград
ICQ # 300300749

Ответ отправил: Mystic (Студент)
Ответ отправлен: 14.12.2006, 21:22

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 131690 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 82823:

    Скажите пожалуйста где можно скачать кигу Джима Адамса "Программирование ролевых игр с DirectX"на английском или русском языках?

    Отправлен: 16.04.2007, 18:31
    Вопрос задал: Hunter20
    Всего ответов: 2
    Страница вопроса »


    Отвечает Solowey (8-й класс) :
    Здравствуйте, Hunter20!
    Книга (анг) - http://rapidshare.com/files/18695251/Role.Playing.Games.2Ed.rar.html
    Исходники - http://rapidshare.com/files/10288572/Premier_Press_-_Programming_Role-Playing_Games_With_DirectX.Source_Code.rar Россия, Москва

    Ответ отправил: Solowey (8-й класс)
    Ответ отправлен: 16.04.2007, 18:50

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 154401 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает Тфусюкин (Бакалавр) :
    Здравствуйте, Hunter20!
    Книга в англ. и исходники у Вас уже есть как я понимаю. Это хорошо.
    А загляните сюда http://netlib.narod.ru/index.htm

    Там автор сайта переводит и выкладывает 2 издание книги. Плюс еще есть книги по программированию игр и не только. Полезный сайт. Только один минус - книги читаются напрямую. Скачивать один файлом нельзя. Но и это вроде не проблема OffLine браузер поможет. Удачи.

    Ответ отправил: Тфусюкин (Бакалавр)
    Ответ отправлен: 16.04.2007, 18:54

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 154404 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 138607:

    Я вывел на экран окно с двумя маховичками для изменения параметров моей задачи и два поля для ввода двух других параметров. Как взять положение маховичка и передать его в качестве переменной в функцию,которая у меня считает точки графика? Аналогично, как взять то значение, которое я ввожу в поле и передать его в функцию?
    На всякий случай приведу текст программы:
    #include "TGraphPanel.h"
    #include "fltkopt.h"
    #include <FL/Fl.H>
    #include <math.h>
    #include <Fl/Fl_Box.h>
    #include <Fl/Fl_Button.h>
    #include <FL/Fl_Roller.H>
    #include <FL/gl.h>
    #include <FL/Fl_Slider.H>
    #include <GL/gl.h>
    #include <stdlib.h>
    #include "MainWindow.h"
    #include <FL/Fl_Input.H>

    void Exit_Callback(Fl_Widget*, void*)
    {
    exit(0);
    }
    double Sinc (double x, double d, int L)
    {
    double E = 1;
    double X[1000];
    double Y[1000];
    double xmax;
    double xmin;

    int i;
    double* pX;
    double* pY;

    for (i=0; i<1000; i++)
    {
    X[i] = xmin+i*(xmax-xmin)/1000;

    x = X[i];

    if (x != 0)
    {
    Y[i] = Sinc(x, d, L);
    }
    else
    {
    Y[i] = E*E*d*d;
    }
    }
    return Y[i];
    pX = &X[i];
    pY = &Y[i];
    }
    void TGraphPanel::draw()
    {
    static bool bIsFirstTime = true;
    if(bIsFirstTime)
    {
    InitialiseGL();
    bIsFirstTime = false;
    }

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glLoadIdentity();

    for(i=0; i<1000; i++)
    {
    glBegin(GL_LINES);

    glColor3d(0.00f, 0.00f, 1.00f);

    glVertex2d(-1.0, -1.0);
    glVertex2d(1.0, 1.0);
    }
    glEnd();
    }
    int main(int argc, char * argv[])
    {
    {
    MainWindow MyMai

    MainWindow MyMainWindow;

    Fl_Window *window = MyMainWindow.make_window();

    Fl::background(100, 100, 100);

    window->begin();

    TGraphPanel* pPanel = new TGraphPanel(10, 65, window->w() - 20, window->h() - 140);
    Fl_Button* pExitButton = new Fl_Button(370, 570, 60, 30, "OK");
    Fl_Roller* pRoller1 = new Fl_Roller(630, 525, 30, 60, "lambda");
    Fl_Roller* pRoller2 = new Fl_Roller(170, 525, 30, 60, "L");
    Fl_Input* pInput1 = new Fl_Input(170, 20, 60, 30, "Vvod Minimum x");
    Fl_Input* pInput2 = new Fl_Input(630, 20, 60, 30, "Vvod Maksimum x");
    pExitButton->callback(Exit_Callback);
    window->end();
    window->resizable(pPanel);
    window->show(argc, argv);

    return Fl::run();

    }
    }
    Как видите, у меня есть два маховичка, задающиеся классом Fl_Roller. Нужно брать положение каждого из них и передавать в функцию Sinc в качестве параметров d и L, а потом вычисленные ею значения передать в функцию draw(). То же самое нужно сделать с двумя полями xmax и xmin.

    Отправлен: 30.05.2008, 01:13
    Вопрос задал: Бородин Всеволод Олегович (Посетитель)
    Всего ответов: 1
    Страница вопроса »


    Отвечает XeS :
    Здравствуйте, Бородин Всеволод Олегович!

    Чтобы получить значение маховичка, надо вызвать его метод value().
    Например:

    pRoller1->value()

    Тип возвращаемого значения будет double.
    Для полей ввода это будет так:

    pInput1->value(char* str)

    в str - указатель на текущее значение элемента

    Ответ отправил: XeS
    Ответ отправлен: 30.05.2008, 16:30

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 225016 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    подать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.



    В избранное