forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   C++ Builder and OpenGl (http://forum.boolean.name/showthread.php?t=15488)

KingMaks 14.09.2011 21:35

C++ Builder and OpenGl
 
Вложений: 1
Создаю новый консольный проект в билдере на базе языка си
вставляю код и подключаю библиотеки:

Цитата:

#include <stdlib.h>
/* підключаємо бібліотеку GLUT */
#include <gl\glut.h>
/* початкова ширина і висота вікна */
GLint Width = 512, Height = 512;
const int CubeSize = 200; /* розмір куба *

/* ця функція управляє усім виводом на екран */
void Display(void)
{
int left, right, top, bottom;
left = (Width - CubeSize) / 2;
right = left + CubeSize;
bottom = (Height - CubeSize) / 2;
top = bottom + CubeSize;
glClearColor(0, 0, 0, 1);
glClear(GL_COLOR_BUFFER_BIT);
glColor3ub(255,0,0);
glBegin(GL_QUADS);
glVertex2f(left,bottom);
glVertex2f(left,top);
glVertex2f(right,top);
glVertex2f(right,bottom);
glEnd();
glFinish();
}

/* Функція викликається при зміні розмірів вікна */
void Reshape(GLint w, GLint h)
{
Width = w; Height = h;
/* встановлюємо розміри області відображення */
glViewport(0, 0, w, h);
/* ортографічна проекція */
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, w, 0, h, -1.0, 1.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}

/* Функція обробляє повідомлення від клавіатури */
void Keyboard( unsigned char key, int x, int y )
{
#define ESCAPE '\033'
if( key == ESCAPE ) exit(0);
}

/* головна програма */
main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB);
glutInitWindowSize(Width, Height);
glutCreateWindow("Red square example");
glutDisplayFunc(Display);
glutReshapeFunc(Reshape);
glutKeyboardFunc(Keyboard);
glutMainLoop();
}
компилирую и все работает, как только пытаюсь добавить что-то своё, нарисовать точку или квадрат и т.д.
вылетает ошибка(на скриншоте)
и все, даже если вставляю изначальный код, который работал, все ровно эта ошибка выскакивает! В чем дело как от неё избавиться? что это значит? помогите!

Mhyhr 14.09.2011 23:24

Ответ: C++ Builder and OpenGl
 
Ошибка к памяти обращения. Косячишь где-то.

...НЕ КОПИПАСТИТЬ КОД. НЕ КОПИПАСТИТЬ КОД.НЕ КОПИПАСТИТЬ КОД.НЕ КОПИПАСТИТЬ КОД.НЕ КОПИПАСТИТЬ КОД.НЕ КОПИПАСТИТЬ КОД.НЕ КОПИПАСТИТЬ КОД.НЕ КОПИПАСТИТЬ КОД.НЕ КОПИПАСТИТЬ КОД....

KingMaks 15.09.2011 03:26

Ответ: C++ Builder and OpenGl
 
Цитата:

Сообщение от Mhyhr (Сообщение 202353)
Ошибка к памяти обращения. Косячишь где-то.

...НЕ КОПИПАСТИТЬ КОД. НЕ КОПИПАСТИТЬ КОД.НЕ КОПИПАСТИТЬ КОД.НЕ КОПИПАСТИТЬ КОД.НЕ КОПИПАСТИТЬ КОД.НЕ КОПИПАСТИТЬ КОД.НЕ КОПИПАСТИТЬ КОД.НЕ КОПИПАСТИТЬ КОД.НЕ КОПИПАСТИТЬ КОД....

не в копипасте дело
смотри: допустим есть код, который работает:
Цитата:

glBegin(GL_POINTS);
glVertex2i(x_mouse,y_mouse);
glEnd();
glFinish();
запускаю работает. только я что-то изменю, например добавлю минус к игрику:
Цитата:

glBegin(GL_POINTS);
glVertex2i(x_mouse,-y_mouse);
glEnd();
glFinish();
запускаю программу выскакивает эта ошибка, дальше хоть убирай минус хоть нет уже задаче не работает, а всегда эта ошибка!

SBJoker 15.09.2011 11:57

Ответ: C++ Builder and OpenGl
 
Не забывай делать очистку проекта перед компиляцией.

falcon 15.09.2011 12:31

Ответ: C++ Builder and OpenGl
 
а почему никто ещё не посоветовал выкинуть и забыть билдер?.. :(

KingMaks 15.09.2011 18:21

Ответ: C++ Builder and OpenGl
 
Цитата:

Сообщение от falcon (Сообщение 202381)
а почему никто ещё не посоветовал выкинуть и забыть билдер?.. :(

Я бы с радостью, да в уневере лабу задали, именно на билдери используя си и opengl:-)

SBJoker это как?

SBJoker 15.09.2011 18:37

Ответ: C++ Builder and OpenGl
 
Ну я то в билдере не работал, но всюду есть такая кнопочка Clear Project.
Ну или ручками удалить папку build или как она там в билдере называется.

Смысл - форсировать компиляцию измененных файлов. Иначе он использует результаты прошлых компиляций.

impersonalis 15.09.2011 21:19

Ответ: C++ Builder and OpenGl
 
или REBUILD (ALL)


Часовой пояс GMT +4, время: 17:47.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot