ckotinko (ckotinko) wrote,
ckotinko
ckotinko

Category:

что нужно знать обязательно про OpenGL

http://www.opengl.org/resources/features/KilgardTechniques/oglpitfall/

1)применяя команду glScale*, надо помнить, что она изменяет длину нормалей. используйте glEnable(GL_NORMALIZE)  или glEnable(GL_RESCALE_NORMAL) иначе вы будете ололо. Последнее быстрее, но не совместимо с вызовами типа  glScale3f(sx,sy,sz). только glScale3f(s,s,s)

2)кладите больше заварки


3)перед использованием glReadPixels для чтения яркости, кастуйте
glPixelTransferf(GL_RED_SCALE, 0.299);
glPixelTransferf(GL_GREEN_SCALE, 0.587);
glPixelTransferf(GL_BLUE_SCALE, 0.114);
иначе вы будете жить в мире белых пикселей и кривых цветов

4)если вы хотите рисовать жирные линии возле краев экрана, уширьте viewport так чтобы он уходил на полширины линии за область отрисовки.

5)учитывай что в opengl ось игрек направлена снизу вверх везде - и на экране и в любых битмапах. используй glPixelZoom(1,-1), и поправку на высоту картинки иначе будет ололо. Помни, что если начало картинки вне поля зрения, не отрисуется вся картинка

ну и там всякое по мелочи
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 1 comment