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

RFpro.ru: DirectX/OpenGL

  Все выпуски  

RFpro.ru: DirectX/OpenGL


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

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

Лучшие эксперты по данной тематике

Павел Юрьевич
Статус: Профессионал
Рейтинг: 512
∙ повысить рейтинг »
Evgenijm
Статус: 10-й класс
Рейтинг: 242
∙ повысить рейтинг »
Лукьяненко Алексей Валериевич
Статус: Студент
Рейтинг: 5
∙ повысить рейтинг »

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

Номер выпуска:58
Дата выхода:07.04.2013, 16:30
Администратор рассылки:Alexey G. Gladenyuk (Управляющий)
Подписчиков / экспертов:39 / 5
Вопросов / ответов:3 / 3

Консультация # 138607: Я вывел на экран окно с двумя маховичками для изменения параметров моей задачи и два поля для ввода двух других параметров. Как взять положение маховичка и передать его в качестве переменной в функцию,которая у меня считает точки графика? Аналогично, как взять то значение, которое я ввожу в поле и передать его в функцию? На всякий случай привед...


Консультация # 160191: Уважаемые , эксперты! Помогите , пожалуста решить проблему! Я взял код из супербиблии , который рисует квадрат и попытался нарисовать шарик, закомментировав квадрат При этом, если размеры шарика больше единицы , на экране ничего не отображается. Где ошибка ? ...
Консультация # 84016: Подскажите пожалуйста как написать трилинейную фильтрацию в DirectX API...

Консультация # 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
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 160191:

Уважаемые , эксперты!
Помогите , пожалуста решить проблему!
Я взял код из супербиблии , который рисует квадрат и попытался нарисовать шарик, закомментировав квадрат
При этом, если размеры шарика больше единицы , на экране ничего не отображается.
Где ошибка ?


Дата отправки: 11.02.2009, 13:03
Вопрос задал: Verof
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Ross:

Здравствуйте, Verof!

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

Консультировал: Ross
Дата отправки: 12.02.2009, 02:13
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 84016:

Подскажите пожалуйста как написать трилинейную фильтрацию в DirectX API

Дата отправки: 24.04.2007, 20:14
Вопрос задал: XeS
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Ross:

Здравствуйте, XeS!

Писать вам ничего для этого не надо :). Не знаю правда как это задается в Direct3D, но в OpenGL для этого достаточно указать режим фильтрации текстур в функции glTexParameteri. Вывод - нужно поискать аналогичную функцию для Direct3D...
Кароч, вот ссылка: http://www.gamedev.ru/articles/?id=10027

Консультировал: Ross
Дата отправки: 25.04.2007, 02:44
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!



В избранное