Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.03.2013, 23:46   #1
kuy
Форумчанин
 
Аватар для kuy
 
Регистрация: 05.09.2011
Сообщений: 109
Сообщение OpenGL. Рисование квадрата

Доброго времени суток. Я делаю проект на C++ & OpenGL(VS 2010), столкнулся с проблемой при рисовании примитива - квадрата.
Рисую квадрат с помощью glRectf - все хорошо, обвожу контуры GL_LINE_LOOP(или другим GL_LINE) - начинаются проблемы, причем на разных машинах разные. Во всех случаях выпадают пиксели на углах. Если бы на всех машинах смещалось одинаково, то я бы одну из линий продлил на пиксель, но смещается по-разному. Дело в том что я большую часть проекта делаю через GL_LINE и искажение очень заметно. Прошу помощи.
Скриншот: http://s020.radikal.ru/i709/1303/a4/d0b4e1a604d0.jpg
Код:
#include "stdafx.h"
#include <GL/glut.h>

void Draw()
{
	glClear(GL_COLOR_BUFFER_BIT);
	
	float xx0=100.f;
	float yy0=100.f;
	float xx_m=150.f;
	float yy_m=150.f;

	glColor3f(0.3,0.6,0.3);
	glRectf(xx0,yy0,xx_m,yy_m);
	glColor3f(0.2,0.4,0.0);
	glBegin(GL_LINE_LOOP);
		glVertex2f(xx0,yy_m);
		glVertex2f(xx_m,yy_m);
		glVertex2f(xx_m,yy0);
		glVertex2f(xx0,yy0);
	glEnd();

	glutSwapBuffers(); 
}

void Initialize()
{
	glClearColor(1.0,1.0,1.0,1.0);
	glMatrixMode(GL_PROJECTION);
	glLoadIdentity();
	gluOrtho2D(0,640,480,0);
	glMatrixMode(GL_MODELVIEW);
}

int _tmain(int argc, char* argv[])
{
	glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
	glutInitWindowSize(640,480);
	// окно по центру:
	glutInitWindowPosition((glutGet(GLUT_SCREEN_WIDTH)-640)/2, (glutGet(GLUT_SCREEN_HEIGHT)-480)/2); 
	glutCreateWindow("Квадрат");

	glutDisplayFunc(Draw);

	Initialize();
	glutMainLoop();

	return 0;
}
kuy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рисование квадрата KocT9 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 10 22.10.2014 11:58
Рисование ровного квадрата/круга при нажатой клавише Ctrl DeeDe Помощь студентам 0 07.05.2012 14:28
OpenGl рисование многоугольников. CWD Помощь студентам 2 21.09.2010 02:56
Рисование квадрата. Работа на Canvas Файзулка Мультимедиа в Delphi 8 26.02.2010 14:34
Рисование квадрата, работа на canvas lubov_morkov Помощь студентам 2 02.06.2009 13:01