vs2010 OpenGL 初体验
使用OpenGL,没有加载一些glut等包,居然真的画出来了。
首先创建工程,其步骤如下:
1)创建一个Win32 Console Application。
2)创建一个空的。转载了http://blog.sina.com.cn/s/blog_9579544301016wvp.html
复制代码如下:
#pragma comment(lib, "opengl32.lib") #pragma comment(lib, "glu32.lib")#include <windows.h>// C RunTime Header Files #include <stdlib.h> #include <malloc.h> #include <memory.h> #include <tchar.h> #include <gl/GL.h> #include <gl/GLU.h>HWND hWnd; HDC hDC; HGLRC hRC;void Game_Init(); void Game_Main(); void Game_ShutDown(); // Set up pixel format for graphics initialization void SetupPixelFormat() {PIXELFORMATDESCRIPTOR pfd, *ppfd;int pixelformat;ppfd = &pfd;ppfd->nSize = sizeof(PIXELFORMATDESCRIPTOR);ppfd->nVersion = 1;ppfd->dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;ppfd->dwLayerMask = PFD_MAIN_PLANE;ppfd->iPixelType = PFD_TYPE_COLORINDEX;ppfd->cColorBits = 16;ppfd->cDepthBits = 16;ppfd->cAccumBits = 0;ppfd->cStencilBits = 0;pixelformat = ChoosePixelFormat(hDC, ppfd);SetPixelFormat(hDC, pixelformat, ppfd); }// Initialize OpenGL graphics void InitGraphics() {hDC = GetDC(hWnd);SetupPixelFormat();hRC = wglCreateContext(hDC);wglMakeCurrent(hDC, hRC);glClearColor(0, 0, 0, 0.5);glClearDepth(1.0);glEnable(GL_DEPTH_TEST); }// Resize graphics to fit window void ResizeGraphics() {// Get new window size RECT rect;int width, height;GLfloat aspect;GetClientRect(hWnd, &rect);width = rect.right;height = rect.bottom;aspect = (GLfloat)width / height;// Adjust graphics to window sizeglViewport(0, 0, width, height);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluPerspective(45.0, aspect, 1.0, 100.0);glMatrixMode(GL_MODELVIEW); }// Draw frame void DrawGraphics() {glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);// Set location in front of camera glLoadIdentity();glTranslated(0, 0, -10);// Draw a square glBegin(GL_QUADS);glColor3d(1, 0, 0);glVertex3d(-2, 2, 0);glVertex3d(2, 2, 0);glVertex3d(2, -2, 0);glVertex3d(-2, -2, 0);glEnd();// Show the new scene SwapBuffers(hDC); }// Handle window events and messages LONG WINAPI MainWndProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {switch (uMsg){case WM_SIZE:ResizeGraphics();break;case WM_CLOSE:DestroyWindow(hWnd);break;case WM_DESTROY:PostQuitMessage(0);break;// Default event handlerdefault:return DefWindowProc (hWnd, uMsg, wParam, lParam);break;}return 1; }int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {const LPCWSTR appname = TEXT("OpenGL Sample");WNDCLASS wndclass;MSG msg;// Define the window classwndclass.style = 0;wndclass.lpfnWndProc = (WNDPROC)MainWndProc;wndclass.cbClsExtra = 0;wndclass.cbWndExtra = 0;wndclass.hInstance = hInstance;wndclass.hIcon = LoadIcon(hInstance, appname);wndclass.hCursor = LoadCursor(NULL,IDC_ARROW);wndclass.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);wndclass.lpszMenuName = appname;wndclass.lpszClassName = appname;// Register the window classif (!RegisterClass(&wndclass)) return FALSE;// Create the windowhWnd = CreateWindow(appname,appname,WS_OVERLAPPEDWINDOW | WS_CLIPSIBLINGS | WS_CLIPCHILDREN,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT ,CW_USEDEFAULT ,NULL,NULL,hInstance,NULL);if (!hWnd) return FALSE;// Initialize OpenGL InitGraphics();// Display the window ShowWindow(hWnd, nCmdShow);UpdateWindow(hWnd);// Event loopwhile (1){if (PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE) == TRUE){if (!GetMessage(&msg, NULL, 0, 0)) return TRUE;TranslateMessage(&msg);DispatchMessage(&msg);}DrawGraphics();}wglDeleteContext(hRC);ReleaseDC(hWnd, hDC); }
直接运行会报错error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
纠错方法:
找到Project -> properties -> Linker -> System ->subSystem 选择Windows (/SUBSYSTEM:WINDOWS)。
3)编译 -> 运行
4)ok
转载于:https://www.cnblogs.com/konkon/p/3830458.html
vs2010 OpenGL 初体验相关推荐
- linux 拷机软件,拷机软件跑起来,OS X平台下OpenGL初体验
拷机软件跑起来,OS X平台下OpenGL初体验 2012-11-12 18:55:03 作者:tina Tag:Mac 热度:745℃ 苹果自成一套的体系可以尽情展示自家的技术水准,但是也会给一些程 ...
- [OpenGL ES 01]OpenGL ES之初体验
[OpenGL ES 01]OpenGL ES之初体验 罗朝辉 (http://blog.csdn.net/kesalin) 本文遵循"署名-非商业用途-保持一致"创作公用协议 一 ...
- C#代码生成工具:文本模板初体验 使用T4批量修改实体框架(Entity Framework)的类名...
转自:http://www.cnblogs.com/huangcong/archive/2011/07/20/1931107.html 在之前的文本模板(T4)初体验中我们已经知道了T4的用处,下面就 ...
- AndroidStudio初体验
style="display: none;" frameborder="0"> 收藏成功 确定 收藏失败,请重新收藏 确定 查看所有私信查看所有通知 暂没 ...
- vulkan初体验之三色三角形
vulkan初体验之三色三角形 文章目录 vulkan初体验之三色三角形 vulkan与OpenGL 先来个效果图 核心类--VulkanManager类 创建Vulkan实例 销毁Vulkan实例 ...
- (转)iOS6和Xcode4.5初体验-图多杀猫
iOS6和Xcode4.5初体验-图多杀猫 看了WWDC2012的发布会后,作为一个开发者,当然选择第一时间下载ios6beta和与之配套的Xcode4.5preview,当然,还有最新的iTunes ...
- 苹果电脑安装python3密码_mac系统安装Python3初体验
前沿 对于iOS开发不要随便拆卸系统自带的Python,因为有很多 library 还是使用 Python2.7. 1 安装Xcode 1.1 App Store 搜索Xcode 并安装 1.2 安装 ...
- MapReduce编程初体验
需求:在给定的文本文件中统计输出每一个单词出现的总次数 第一步: 准备一个aaa.txt文本文档 第二步: 在文本文档中随便写入一些测试数据,这里我写入的是 hello,world,hadoop he ...
- 小程序 缩放_缩放流星应用程序的初体验
小程序 缩放 by Elie Steinbock 埃莉·斯坦博克(Elie Steinbock) 缩放流星应用程序的初体验 (First Experiences Scaling a Meteor Ap ...
最新文章
- 1280*720P和1920*1080P的视频在25帧30帧50帧60帧时的参数
- 39页作业(还款年限—月还款额表)
- arcgis engine 获取高亮Feature、element
- linux7编译mysql5.7安装,CentOS 7.4 使用源码包编译安装MySQL 5.7.20
- 霍夫曼编码及解码实验c语言,Huffman编码与解码_C语言实现
- html执行严格语法标准,JS语法(ES6)
- springboot+vue+easychart报表导出前后台
- Linux下OpenCV摄像头录像(c++)
- Nmap端口扫描windows版
- 广义线性混合模型GLMM
- html 打印 a4 像素,精确打印A4纸张排版HTML
- 4家运营商、17家通信企业这样回应5G牌照发放
- 探寻Linux 中国之路
- table总结insertRow、deleteRow 学习
- shell圣诞树脚本
- 【Day2.2】茶卡盐湖
- 满满干货!送给想学生物竞赛的同学们一份入门指南
- 第三方直播平台都有哪些
- 2016-2017年江苏省留学生创业优惠政策及创业补贴
- 浅谈zto大数据计算与业务系统的融合
热门文章
- 高级点的php书,深入理解php:高级技巧、面向对象与核心技术(原书第3版) 中文pdf扫描版[76MB]...
- spring mvc使用html页面,Spring MVC静态页面
- java connection 单例_Java设计模式之单例模式详解
- Nodejs获取MySQL数据_nodejs同步调用获取mysql数据时遇到的大坑
- python多用户登录_python 多用户登录
- java利用redis实现排行榜_Java简单使用redis-zset实现排行榜
- deeplung代码实现主题讲解
- OpenCV:无法启动此程序,因为计算机中丢失opencv_world310.dll
- 机器学习-Adaboost 算法(集成学习)
- pytorch:nn.Sequential讲解