вопрос по GL.Ortho()
От: manuka1  
Дата: 12.04.11 16:41
Оценка:
Предупреждаю: я полный нуб. Не смейтесь. Спасибо.
Решил переписать графику в своей программе с GDI+ на OpenTK (это враппет OpenGl для Net).
Сначала устанавливаю основные координаты для GL


 private void SetupGLViewport()
        {
            int w = mainForm.Width;
            int h = mainForm.Height;
            GL.MatrixMode(MatrixMode.Projection);
            GL.LoadIdentity();
            GL.Ortho(0, 200f, 0, 200000f, -1, 1); 
            GL.Viewport(0, 0, w, h);
            
        }


Собственно в прошлой версии программы я устанавливал

GL.Ortho(0, w, 0, h, -1, 1);


А потом координаты нужных объектов переводил в эту GL.Ortho() координатную систему.
Например, мне надо нарисовать график акций. У него координаты (x,y)
где x — дни, y — цена.

Цена бывает разной от 0.0000123 копеек. до 123 000 рублей.

я сделал функции перевода цены в пиксели XTOPixels()и YTOPixels(), они переводили эти огромные ценовые значения в пиксели. Ну, все пока логично.

Но я вдруг подумал: а может мне просто сделать GL.Ortho(0, 200f, 0, 200000f, -1, 1); Где 200f-максимум видимых дней, а 200 000F максисмум видимой цены.
Тогда по идее я мог бы опустить использование XTOPixels()и YTOPixels() и пихать в видео карту Vertex в виде Vertex3d(100 days,20000$), а не ввиде Vertex3d(XtoPixels(100 days),YtoPixels(20000$)).


Внимание вопрос. Это я дурак и все уже двано так делали, а я тока догадался? Такие здоровые числа как 200 000 тыщ в GL.Ortho(0, 200f, 0, 200000f, -1, 1) как-то влияют на скорость рендеринга?
opengl
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.