| GLUT_SINGLE); int cx = glutGet(GLUT_SCREEN_WIDTH); int cy = glutGet(GLUT_SCREEN_HEIGHT);// | GLUT_SINGLE); int cx = glutGet(GLUT_SCREEN_WIDTH); int cy = glutGet(GLUT_SCREEN_HEIGHT);// | GLUT_SINGLE); int cx = glutGet(GLUT_SCREEN_WIDTH); int cy = glutGet(GLUT_SCREEN_HEIGHT);// | GLUT_SINGLE); int cx = glutGet(GLUT_SCREEN_WIDTH); int cy = glutGet(GLUT_SCREEN_HEIGHT);// 如果使用GLUT工具包,可以在调用glutInitDisplayMode函数时在参数中加上GLUT_STENCIL,例如: glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA
参数mode的可选值为: GLUT_RGBA: 当未指明GLUT-RGBA或GLUT-INDEX时,是默认使用的模式。表明欲建立RGBA模式的窗口。 GLUT_RGB: 与GLUT-RGBA作用相同。 GLUT_INDEX: 指明为颜色索引模式。 GLUT_DEPTH: 使用深度缓存。 GLUT_STENCIL: 使用模板缓存。 GLUT_MULTISAMPLE:让窗口支持多例程。 cursor可选值有许多:如GLUT_CURSOR_RIGHT_ARROW指向右边的光标,GLUT_CURSOR_LEFT_ARROW指向左边的光标,GLUT_CURSOR_INFO成为手状。 GLUT_CURSOR_DESTROY呈叉状,GLUT_CURSOR_HELP呈现问号的形状。等等。
18 | glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH); | ^ 18 | glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH); | 18 | glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH); | | GLUT_RGBA | GLUT_DEPTH); | ^~~~~~~~~~~~~~~~~~~ main.cpp:19:5: error: ‘glutInitWindowSize ‘GLUT_DOWN’ was not declared in this scope 67 | if ( button == GLUT_LEFT_BUTTON &
1.安装GLUT工具包 GLUT不是OpenGL所必须的,但它会给我们的学习带来一定的方便,推荐安装。 Windows环境下的GLUT本地下载地址:glut-install.zip(大小约为150k) 也可直接去官方网站下载:http://www.opengl.org/resources/libraries /glut/glutdlls37beta.zip Windows环境下安装GLUT的步骤: 1)将下载的压缩包解压,得到5个文件放到以下三个指定位置: 2)glut.h放到GL文件夹(VC6中一般是:C 3)glut.lib和glut32.lib放到静态函数库所在文件夹(VC6中一般是:C:\Program Files\Microsoft Visual Studio\VC98\Lib, VC2005中是 4)glut.dll和glut32.dll放到操作系统目录下面的system32文件夹内。
导语 葡萄糖转运体1(GLUT1)由SLC2A1基因编码,是对葡萄糖亲和力最大的葡萄糖转运体之一,GLUT1的异常表达与多种癌症有关。 GLUT1表达和m6A修饰的关系,构建ceRNA网络,确定了GLUT1可作为ESCA诊断和治疗的生物标志物。 02 ESCA中GLUT1基因共表达网络的富集分析和PPI分析 为了进一步了解GLUT1在ESCA中的生物学意义,使用LinkedOmics数据库分析了GLUT1在ESCA中的共表达。 分析22个免疫细胞在不同GLUT1表达组之间的表达差异,以确定ESCA中GLUT1高表达水平和低GLUT1表达水平之间的肿瘤免疫微环境是否存在差异(图3C)。 分析不同GLUT1表达组之间20个m6A相关基因的表达差异,以确定ESCA中高GLUT1高表达水平和低GLUT1表达水平之间的m6A修饰是否存在差异(图4C)。
GLUT4是miR-93的高度预测靶点,而miR-133和miR-223已被证实可调节心肌细胞中GLUT4的表达。 过表达miR-93 通过直接靶向GLUT4 39UTR 导致脂肪细胞中GLUT4基因表达下调,同时抑制 miR-93 活性导致GLUT4表达增加。 B:GLUT4 蛋白在 PCOS 中也降低。 C:考虑到 IR,在原代脂肪细胞培养中观察到 IR 组和非 IR 组的GLUT4表达存在显著差异。 D:在整个AT中,PCOS患者GLUT4显著降低,如果患者出现IR,GLUT4进一步降低。 C和D:比较 Glut4(红色)在 3T3-L1 脂肪细胞转染GFP-miR-93载体或空载体和表达 Glut4(红色); 比例尺为 50 mm。
三.实验原理 在OpenGL中处理鼠标事件非常方便,GLUT已经为我们注册好了函数,只需要我们提供一个方法。 第一个参数表明哪个鼠标键被按下或松开,这个变量可以是下面的3个值中的一个: GLUT_LEFT_BUTTON GLUT_MIDDLE_BUTTON GLUT_RIGHT_BUTTON 第二个参数表明,函数被调用时 ,鼠标的状态,也就是被按下或松开,可能取值如下: GLUT_DOWN GLUT_UP 当函数被调用时,state的值是GLUT_DOWN,那么程序可能假定将会有一个GLUT_UP事件,甚至鼠标移动到窗口外面 然而,如果程序调用glutMouseFunc传递NULL作为参数,那么GLUT将不会改变鼠标的状态。参数x,y提供了鼠标当前的窗口坐标(以左上角为原点)。 && state == GLUT_DOWN) exit(0); if(button ==GLUT_LEFT_BUTTON && state == GLUT_DOWN) { x = wx;
/~nate/glut.html 1. 首先,需要包含头文件#include <GL/glut.h>,这是GLUT的头文件。 注意main函数中的各语句,除了最后的return之外,其余全部以glut开头。这种以glut开头的函数都是GLUT工具包所提供的函数,下面对用到的几个函数进行介绍。 2、 glutInitDisplayMode,设置显示方式,其中GLUT_RGB表示使用RGB颜色,与之对应的还有GLUT_INDEX(表示使用索引颜色)。 GLUT_SINGLE表示使用单缓冲,与之对应的还有GLUT_DOUBLE(使用双缓冲)。更多信息,请自己Google。当然以后的教程也会有一些讲解。
第一个参数表明哪个鼠标键被按下或松开,这个变量可以是下面的三个值中的一个: GLUT_LEFT_BUTTON GLUT_MIDDLE_BUTTON GLUT_RIGHT_BUTTON 第二个参数表明,函数被调用发生时 ,鼠标的状态,也就是是被按下,或松开,可能取值如下: GLUT_DOWN GLUT_UP 当函数被调用时,state的值是GLUT_DOWN,那么程序可能会假定将会有个GLUT_UP事件,甚至鼠标移动到窗口外面 && state == GLUT_DOWN) exit(0); if(button ==GLUT_LEFT_BUTTON && state == GLUT_DOWN) glutIdleFunc(spinDisplay ); if(button== GLUT_MIDDLE_BUTTON && state == GLUT_DOWN) glutIdleFunc(NULL); } void main(int argc, char && state == GLUT_DOWN) exit(0); if(button ==GLUT_LEFT_BUTTON && state == GLUT_DOWN) { x = wx; y = wy
BAY-876(AbMole,M8659)是一种高选择性葡萄糖转运蛋白1(GLUT1)抑制剂,通过靶向抑制GLUT1介导的葡萄糖摄取,在多种研究中展现出显著的代谢调控与抗增殖作用。 其作用机制主要包括:(1)直接抑制GLUT1蛋白表达,如Western blot分析显示其在人结直肠癌细胞系(HCT116、DLD1、COLO205、LoVo)中可降低GLUT1蛋白水平[1]。 0.05 μM的BAY-876能特异性抑制GLUT1介导的肌肉细胞葡萄糖摄取[5]。BAY-876还能显著抑制砷酸盐处理的L-02肝细胞中GLUT1膜定位及葡萄糖摄取[6]。 例如,在结直肠癌移植瘤中,BAY-876治疗组显示GLUT1表达抑制和肿瘤生长减缓[1]。BAY-876还被用于研究代谢重编程与免疫调控之间的关联。 例如,在CD4 +T细胞中,GLUT1抑制可减少20%的IFN-γ分泌,同时巨噬细胞中TNF分泌降低27%[7]。
另外,为了方便窗体中多边形移动,创建dx和dy两个全局变量,并分别加到多边形的各个顶点: GLint dx = 0, dy = 0; //移动变量 创建窗体多边形完整程序: #include <GL/glut.h | GLUT_SINGLE); glutInitWindowPosition(300, 100); glutInitWindowSize(w, h); glutCreateWindow("mouse && state == GLUT_DOWN) { //左键按下,图元移动到鼠标位置 dx = x; dy = h - y; //左上为(0,0) glutPostRedisplay (); } } 运行程序,就可以通过鼠标控制多边形移动了,移动后的效果如下: 完整程序 main.cpp #include <GL/glut.h> GLint w = 600, h = 500; / && state == GLUT_DOWN) { //左键按下,图元移动到鼠标位置 dx = x; dy = h - y; //左上为(0,0) glutPostRedisplay
| GLUT_SINGLE | GLUT_RGBA); glutInitWindowPosition(100,100); glutInitWindowSize(500,500); glutCreateWindow ) { if(state == GLUT_DOWN) { mouseisdown=true; loopr=false; } else { mouseisdown= false; } } if (button== GLUT_RIGHT_BUTTON) if(state == GLUT_DOWN) { loopr=true; glutTimerFunc ; case GLUT_KEY_UP: rx+=5; glutPostRedisplay(); break; case GLUT_KEY_DOWN: rx-=5; glutPostRedisplay | GLUT_SINGLE | GLUT_RGBA); glutInitWindowPosition(100,100); glutInitWindowSize(500,500); glutCreateWindow
运行下面的程序 # -*- coding:utf-8 -*- # Author:WYC from OpenGL.GL import * from OpenGL.GLU import * from OpenGL.GLUT 初始化OpenGL glutInit() #显示模式:GLUT_SINGLE无缓冲直接显示|GLUT_RGBA采用RGB(A非alpha) glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA) #窗口位置及大小-生成 glutInitWindowPosition(0,0) glutInitWindowSize(400,400) glutCreateWindow(b"first image.png 就应该能够显示茶壶模型了 二、简单使用例子 1.点线抛物线 from OpenGL.GL import * from OpenGL.GLU import * from OpenGL.GLUT 2.转动时钟 from OpenGL.GL import * from OpenGL.GLU import * from OpenGL.GLUT import * import math import
将下载的压缩包解开,将得到5个文件(glut.dll, glut32.dll, glut.lib, glut32.lib,glut.h) 1. 把glut.h复制到<VC++ path>\include\gl目录中。 把解压得到的glut.lib和glut32.lib放到静态函数库所在文件夹<VC++ path>\lib(我的目录是:D:\Program Files (x86)\Microsoft Visual Studio 把解压得到的glut.dll和glut32.dll放到操作系统目录下面的System32文件夹内。 进行初始化,这个函数必须在其它的GLUT使用之前调用一次 glutInit(&argc, (char**)argv); // 设置显示方式,其中GLUT_RGB表示使用RGB颜色,GLUT_SINGLE
4.实验代码: #include <GL/glut.h> //需要正确安装GLUT,安装方法如预备知识中所述 void myDisplay(void) { glClearColor(0.0, 0.0, 下面对各行语句进行说明: 首先,需要包含头文件#include <GL/glut.h>,这是GLUT的头文件。 这种以glut开头的函数都是GLUT工具包所提供的函数,下面对用到的几个函数进行介绍; 1)glutInit,对GLUT进行初始化,这个函数必须在其它的GLUT使用之前调用一次。 其格式比较固定,一般都是glutInit(&argc, argv)就行; 2) glutInitDisplayMode,设置显示方式,其中GLUT_RGB表示使用RGB颜色,与之对应的还有GLUT_INDEX GLUT_SINGLE表示使用单缓冲,与之对应的还有GLUT_DOUBLE(使用双缓冲)。
下载完成后解压, 把解压得到的glut.dll和glut32.dll放在C:\Windows\system32文件夹内(32位系统)或 C:\Windows\SysWOW64(64位系统)。 把解压得到的glut.lib和glut32.lib放到静态函数库所在文件夹(如果是VS2013,则是其安装目录下面的”VC\lib”文件夹)。 OpenGL中一些函数 glutInit(&argc, argv) 对GLUT进行初始化,这个函数必须在其它的GLUT使用之前调用一次。 glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE) 设置显示方式,其中: GLUT_RGB表示使用RGB颜色,与之对应的还有GLUT_INDEX(表示使用索引颜色 GLUT_SINGLE表示使用单缓冲,与之对应的还有GLUT_DOUBLE(使用双缓冲)。
输入与窗口函数不属于OpenGL核心库,但是由于它们在交互式程序中的重要地位,这类函数已被包含在GLUT库中。这些函数使我们能够对屏幕中的窗口进行控制并使用鼠标和键盘。 另外还有一种折衷的方法是借助GLUT库,这样可以使同一个程序能够在不同的平台下重新编译和运行。 三、GLUT void glutInit(int * argc, char ** argv); //初始化GLUT,应在其他GLUT函数和OpenGL函数之前进行调用。 //glutInit()接收来自main函数的参数,程序可以具体实现相关的方式来使用这些参数 所有的GLUT函数都是以glut为前缀。 该函数的调用应作为main函数最后一条语句出现 提示:GLUT回调函数的形式是固定的。所以,若要在不同的函数之间进行值传播,可能需要借助全局变量。
基于pod的OpenGL环境配置 依赖准备 ---- 所需依赖: CLTools glew libGLTools.a OpenGL.framework、GLUT.framework(这部分依赖于系统动态库 创建完成 提供一个实例 #include "GLShaderManager.h" #include "GLTools.h" #include <glut/glut.h> GLBatch triangleBatch 库 glutInit(&argc, argv); /*初始化双缓冲窗口,其中标志GLUT_DOUBLE、GLUT_RGBA、GLUT_DEPTH、GLUT_STENCIL分别指 双缓冲窗口、RGBA颜色模式、深度测试、模板缓冲区*/ glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGBA|GLUT_DEPTH|GLUT_STENCIL ); //GLUT窗口大小,标题窗口 glutInitWindowSize(800,600); glutCreateWindow("Triangle"); //注册回调函数
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); 函数功能:设置初始显示模式。 0x0000 指定RGB颜色模式的窗口 GLUT_RGBA 0x0000 指定RGBA 颜色模式的窗口 GLUT_INDEX 0x0001 指定颜色索引模式的窗口 GLUT_SINGLE 0x0000 指定单缓存窗口 GLUT_DOUBLE 0x0002 指定双缓存窗口 GLUT_ACCUM 0x0004 窗口使用累加缓存 GLUT_ALPHA 0x0008 窗口的颜色分量包含 alpha 值 GLUT_DEPTH 0x0010 窗口使用深度缓存 GLUT_STENCIL 0x0020 窗口使用模板缓存 GLUT_MULTISAMPLE 0x0080 指定支持多样本功能的窗口 GLUT_STEREO 0x0100 指定立体窗口 GLUT_LUMINANCE
绘制Bezier曲线 #include <GL/glut.h> GLfloat ctrlpoints[4][3] = {{ -4.0, -4.0, 0.0}, { -2.0, 3.0, 0.0}, glLoadIdentity(); } int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); glutInitWindowSize (500, 500); glutInitWindowPosition (100, 100); glutCreateWindow ( 绘制Bezier曲面 #include <GL/glut.h> GLfloat ctrlpoints[4][4][3] = { {{-3, 0, 4.0}, {-2, 0, 2.0}, {-1, | GLUT_RGB | GLUT_DEPTH); glutInitWindowSize (500, 500); glutInitWindowPosition (100, 100); glutCreateWindow