Форум программистов, компьютерный форум CyberForum.ru

opengl не рисуется - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ передача матрицы в функцию http://www.cyberforum.ru/cpp-beginners/thread702595.html
всем привет! пишу программу,которая просто в классе суммирует матрицу (пусть для простоты 3*3) но--не могу никак сделать такую вещь--в функцию их передать..не знаю как бы точно выразиться вот мой код.Кто-нибудь может подредактировать его так,чтобы он работал?С этим принципиальная сложность) заранее прошу простить,я чайник в си++ #include <iostream> using namespace std; class matrix {
C++ Пробел в конце строки При составлении строки из более мелких присоединением справа нужно бы добавлять каждый раз по пробелу. Вобщем как присоединить пробел к строке справа? PS: C++. http://www.cyberforum.ru/cpp-beginners/thread702591.html
C++ Преобразовать строку: все вхождения abc заменить на def
написать программу Дана строка из 80 символов, известно что в начале строки s находится не более 40 латинских букв, за которыми следуют пробелы. Напечатать эту строку выполнив преобразование: все вхождения abc заменить на def
C++ выводит белиберду
Помогите оформить стек! Нужно чтобы я ввел стек и появилось меню операций, а тут выводит аж 5 раз меню! #include<iostream> #include<stdio.h> #include<conio.h> using namespace std; const int maxlength = 5; struct Stack { int top; char elements;
C++ В чем ошибка? http://www.cyberforum.ru/cpp-beginners/thread702555.html
Разработать классы для описанных ниже объектов. Включить в класс методы set (…), get (…), show (…). Определить другие методы. Написать программу, демонстрирующую работу с этим классом. Класс соответствует индивидуальному варианту. 1. Student: Фамилия, Имя, Отчество, Дата рождения, Адрес, Средний балл, Факультет, Курс. Определить является ли студент «двоечником», «троечником», «хорошистом»,...
C++ Задача по С++ для первого курса Здравствуйте. Задали написать программу для решения этой формулы: Составил вот такой код: #include <cstdio> #include <cmath> #include <conio.h> int main() { double x,p1,p2,p3,p4,p5,p6,f; подробнее

Показать сообщение отдельно
Valera`
0 / 0 / 0
Регистрация: 12.08.2012
Сообщений: 14
19.11.2012, 23:24     opengl не рисуется
инициализирую opengl, ошибок при компилировании и выполнении не выдаёт
сделать надо без glut
создание окна winapi работает
часть кода инициализации opengl скопипастил, возможно там чето есть

swapbuffers есть
и цвет вроде не черный, пробовал разные

#include <windows.h>
#include <GL/gl.h>
#include <GL/glu.h>

#pragma comment (lib, "OpenGL32.lib")
#pragma comment (lib, "glu32.lib")

BOOL keys[256];

HWND hWnd = NULL;
HGLRC hGLRC_ = NULL;
HDC hDC_ = NULL;
int LEN_X = 800;
int LEN_Y = 800;

static GLfloat light1_position[] = {0.0, 0.0, 3.0, 1.0};

ATOM MyRegisterMyClass (HINSTANCE hInstance);
HWND MyCreateWindow (HINSTANCE hInstance, int nCmdShow);
HWND MyCreateHWnd (HINSTANCE hInstance, char Title, int Len_X, int Len_Y);


void InitGL()
{
GLfloat white_light[] = {1.0, 1.0, 1.0, 1.0};
GLfloat light_position[] = {0.0, 0.0, 10.0, 1.0};
glClearColor (0.5, 0.5, 0.5, 0.0);
glLightf (GL_LIGHT0, GL_SPOT_EXPONENT, 20.0);
glLightfv (GL_LIGHT0, GL_POSITION, light_position);
glLightf (GL_LIGHT0, GL_SPECULAR, 128);
glEnable (GL_LIGHTING);
glEnable (GL_LIGHT0);
glShadeModel (GL_SMOOTH);
glEnable (GL_DEPTH_TEST);
glEnable (GL_AUTO_NORMAL);
glEnable (GL_NORMALIZE);
glEnable (GL_CULL_FACE);
glCullFace (GL_BACK);
}


void reshape(int width, int height)
{
glViewport (0, 0, width, height);
glMatrixMode (GL_PROJECTION);
glLoadIdentity ();
gluPerspective (50.0, (GLfloat) width / (GLfloat) height, 1.0, 100.0);
gluLookAt (0,0,3, 0,0,0, 0,1,0);
glMatrixMode (GL_MODELVIEW);
glLoadIdentity();
}


void Display ()
{
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();

glPushMatrix();
// cntr +=0.1;
glTranslatef (0.0, 0.0, -5.0);
//glRotated(cntr, 0.0f, 1.0f, 0.0f);

// auxWireSphere(1.0);

// if (cntr >= 360.0f) cntr =0.0f;
glPopMatrix();

glFlush();
}

void CreateGl ()
{
GLuint PixelFormat;
static PIXELFORMATDESCRIPTOR pfd =
{
sizeof (PIXELFORMATDESCRIPTOR),
1,
PFD_DRAW_TO_WINDOW |
PFD_SUPPORT_OPENGL |
PFD_DOUBLEBUFFER,
PFD_TYPE_RGBA,
32,
0, 0, 0, 0, 0, 0,
0,
0,
0,
1, 1, 1, 1,
32,
0,
0,
PFD_MAIN_PLANE,
0,
0, 0, 0
};

hDC_ = GetDC(hWnd);
PixelFormat = ChoosePixelFormat(hDC_, &pfd);
SetPixelFormat (hDC_, PixelFormat, &pfd);
hGLRC_ = wglCreateContext (hDC_);
wglMakeCurrent (hDC_, hGLRC_);
InitGL ();
}


LRESULT CALLBACK WndProc (HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
{
RECT Screen;
switch(message)
{
case WM_CREATE:
{
CreateGl ();
break;
}

case WM_LBUTTONDOWN:
{
glBegin(GL_LINES);
glColor3d(1, 1, 1);
glVertex2d(1,1);
glVertex2d(-1,-1);
glEnd();
SwapBuffers (hDC_);
break;
}
case WM_CLOSE:
{
ChangeDisplaySettings (NULL, 0);
if (hDC_) {wglMakeCurrent (hDC_, NULL);}
if (hGLRC_) {wglDeleteContext (hGLRC_);}
if (hWnd) {ReleaseDC (hWnd, hDC_);}
PostQuitMessage(0);
break;
}

case WM_SIZE:
{
GetClientRect (hWnd, &Screen);
reshape(Screen.right, Screen.bottom );
break;
}

case WM_KEYDOWN:
{
keys[wParam] = TRUE;
break;
}

case WM_KEYUP:
{
keys[wParam] = FALSE;
break;
}

default:
return DefWindowProc(hWnd,message,wParam,lParam);
}
return 0;
}


int WINAPI WinMain (HINSTANCE hInstance,
HINSTANCE hPrevInst,
LPSTR lpCmdLine,
int iCmdShow)
{
MyCreateWindow (hInstance, iCmdShow);
}


void Message (HWND hWnd)
{
MSG msg;
while (GetMessage (&msg, 0, 0, 0))
{
TranslateMessage (&msg);
DispatchMessage (&msg);
}
}

HWND MyCreateHWnd (HINSTANCE hInstance, char* Title, int Len_X, int Len_Y)
{
return CreateWindow (
L"Window",
L"Window",
WS_OVERLAPPEDWINDOW,
150,
100,
LEN_X,
LEN_Y,
NULL,
NULL,
hInstance,
NULL
);
}

HWND MyCreateWindow (HINSTANCE hInstance, int nCmdShow)
{
MyRegisterMyClass (hInstance);
HWND hWnd = MyCreateHWnd (hInstance, "Window", 500, 500);
ShowWindow (hWnd, nCmdShow);
UpdateWindow (hWnd);
Message (hWnd);
return hWnd;
}

ATOM MyRegisterMyClass (HINSTANCE hInstance)
{
WNDCLASS wc;
wc.style = CS_DBLCLKS;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon (NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor (NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH) (8);
wc.lpszMenuName = NULL;
wc.lpszClassName = L"Window";
if (!RegisterClass (&wc))
{
// MessageBox (NULL, "class not registered", "Error", 1);
return 0;
}
return 1;
}

Добавлено через 2 часа 1 минуту
уточню, скомпилив прогу при нажатии левой кнопки мыши должно происходить рисование, но ничего не рисуется
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru