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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 16.08.2009, 16:08   #1
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию Помогите новичку

Люди, недавно начал разбираться с С++ и возникла такая проблема. Вот код инициализации OpenGL для С++, из исходников с просторов Инета. Теоретически всё верно, но при попытке запустить проект компилятор ругается. На 2 строчки помеченные //(!)
Код:
#include "stdafx.h"
#include "windows.h"
#include "stdlib.h"
#include "stdio.h"
#include "GL\GL.H"
#include "GL\GLU.H"

LONG WINAPI WndProc(HWND, UINT, WPARAM,LPARAM);
void CreateContext(HWND);

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
	HWND hwnd;
	WNDCLASS WindowClass;
	memset(&WindowClass,0,sizeof(WNDCLASS));
	WindowClass.style = CS_HREDRAW || CS_VREDRAW;
	WindowClass.lpfnWndProc = WndProc;
	WindowClass.hInstance = hInstance;
	WindowClass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
	WindowClass.lpszClassName = "Main window";
	RegisterClass(&WindowClass);

	hwnd = CreateWindow("Main window", "C++ & OpenGL project 1", WS_OVERLAPPEDWINDOW,
		300, 200, 200, 180, NULL, NULL, hInstance, NULL);
	ShowWindow(hwnd,nCmdShow);
	UpdateWindow(hwnd);
	MSG msg;
	while(GetMessage(&msg,NULL,0,0))
	{
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}
	return msg.wParam;
}


LONG WINAPI WndProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
{
switch (msg){
	case WM_DESTROY: 
		PostQuitMessage(0);
		break;
	case WM_CREATE: 
		CreateContext(hwnd);
	default:
		return DefWindowProc(hwnd, msg, wparam, lparam);
}
return 0;
}

void CreateContext(HWND hwnd)
{
	PIXELFORMATDESCRIPTOR pfd;
	int nPixelFormat;
	HDC hdc = GetDC(hwnd);
	memset (&pfd, 0, sizeof(PIXELFORMATDESCRIPTOR));
	pfd.dwFlags = PFD_DRAW_TO_WINDOW || PFD_SUPPORT_OPENGL || PFD_DOUBLEBUFFER;
	pfd.iPixelType = PFD_TYPE_RGBA;
	pfd.cColorBits = 32;
	nPixelFormat = ChoosePixelFormat(hdc, &pfd);
	SetPixelFormat(hdc, nPixelFormat, &pfd);
//(!)	HGLRC hrc = wglCreateContext(hdc);
//(!)	wglMakeCurrent(hdc, hrc);
}
Это функции из модуля gl.h. Может просто надо где-то что-то прописать?...
Изобретатель велосипедов
Selestis вне форума
Старый 16.08.2009, 19:03   #2
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию

Проблема решена, тему можно считать закрытой.
Изобретатель велосипедов
Selestis вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите новичку Doz1metr Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 05.08.2009 02:03
помогите новичку ai\ekcah^p Помощь студентам 4 10.05.2009 22:14
Помогите новичку! Yury Общие вопросы Delphi 1 21.12.2006 15:16
Помогите новичку HIP Общие вопросы Delphi 1 19.12.2006 14:55