es怎么做由画变画面最真实的单机游戏画面?

你烩你做啊
(自己动手,中西通吃!N道美味料理让你秒变暖男女神!豆瓣红人雨前羽街和萌系漫画家ES女王样,联手打造轻松逗趣的美食绘本, 厨艺、画艺,让你一饱满足!)- 蔚蓝网|蔚蓝书店|蔚蓝网上书店 - 买书就上蔚蓝网
顾客评分:
已有0人评论
定&&价:35.00&&&&&&&&&&&&&
字数:32000&&&&&
页数:192&&&&&
开本:24开&&&&&
包装:平装
工作忙没时间、身体不舒服、心情好、心情坏……每天总有各种理由不做饭。但总在外面吃饭,不仅费用高,而且没营养对身体不好。美食绘本《你烩你做啊》拯救“手残”或理由多多的你!凭《小当家料理实验性研究报告》爆红网络的豆瓣红人&厨艺达人雨前羽街,联手橡皮章手作大神&幽默漫画人ES女王样,打造“色香味”俱全的萌系美食绘本——《你烩你做啊》!全书以贴近生活的逗趣日常介绍各种高大上料理的制作方式,俏皮可爱的漫画使其不仅仅是一本美食菜谱,同时也是一本轻松搞笑的幽默绘本。
有“中华小当家”之称的豆瓣红人雨前羽街,精心准备了开胃菜、硬菜、主食、汤、甜点五大类别共20多道中西料理的烹煮方法,特邀自由手作人&漫画人ES女王样作画,联手推出可爱逗趣的冷幽默食谱绘本《你烩你做啊》!详尽的做菜步骤、诙谐的语言、可爱的配图,让读者在厨艺不断攀升的同时,享受做饭的乐趣。
《你烩你做啊》中不仅有蔬菜沙拉、酸甜小排等家常小菜,还有普罗旺斯烩菜、橙香舒芙蕾等高大上料理,更有专门为忙碌上班族、学生党、懒人们准备的快速意面、免揉全麦面包、快手青瓜汤等简易美味菜谱!特别收录拖延症治疗大法——“翔”的做法,及《小当家料理实验性研究报告》幕后创作彩蛋!全书内容丰实,让你让你一饱满足!
开篇入门介绍开胃菜蔬菜沙拉普罗旺斯烩菜橙香煎带子酸甜小排硬菜宫保鸡卷梅酒羊肉脆皮红烧肉慢烧牛腿肉主食免揉全麦面包意式煎馄饨快速意面墨鱼汁海鲜面汤心灵鸡汤日式出汁西式高汤快手青瓜汤甜品富士山熔岩蛋糕红酒炖梨焦糖脆皮丹法混血米布丁橙香舒芙蕾酱料和配菜山楂酱番茄酱沙拉酱蔬菜土豆泥特别篇“翔”的做法番外篇中华小当家后记
摘要与插图
& & 关于这本书,我和雨前羽街是希望它能够:1.学习料理 2.看冷笑话 3.不会翻一遍就在书架上闲置 4.看着看着觉得太好玩了忘记了做饭。至于能不能达到这样的目的,希望你能告诉我们答案。——ES女王样
0人参与评分
很好(5星,4星):
一般(3星,2星):
不推荐(1星):&&&
写购物评价,赢购物积分,可换购物券!好书不要私藏哦,分享给别人吧!
温馨提示:由于每位咨询者提问时间及蔚蓝网促销等不同原因,以下回复仅对提问者3天内有效,其他网友仅供参考!
1件商品成功放入购物车
购物车共件商品,商品金额合计¥97.10
购物车中已有该商品
非常报歉,本商品没有库存暂时无法购买,如果您仍需要该图书
请输入邮箱做缺货登记,到货后我们会给您发邮件通知。
非常抱歉,您购买的数量超过库存,当前最多可买303件,请您修改。求助:在ES更改画面后,怎样使服务器画面随着变?
求助:在ES更改画面后,怎样使服务器画面随着变?
刚开始学西门子,公司用的是PCS7.1&+CEMAT系统,1台ES,2台server(冗余),12台os,在ES上画面更改后,点击server项目右键选择PLC再选择download,下载后,在服务器上打开的画面还是未改前的画面,切换画面也不起作用,所以每次画完画面,我都把画面通过网上邻居复制到服务器的项目文件名下,或是复制到ES的服务器项目下,然后再download。这样太麻烦了,请教我那步做错了?能不能实现download后,不用手动复制?
回复:求助:在ES更改画面后,怎样使服务器画面随着变?
不是点SERVER项目下装。&1.点SERVER项目下装是下装你配置的WINCC&APPLICAITON&以及网卡;&2.应该点击SERVER项目下的那个PC电脑,进行下装。&3.ES工程师站下修改组态。在ES工程师站下,修改的画面要在SERVER项目下修改,而不是ES项目下。如果是在ES项目下修改的,那么就将在ES下修改的画面拷贝到SERVER项目下,然后在下装。
回复:求助:在ES更改画面后,怎样使服务器画面随着变?
谢谢!!明白了,哈
回复:求助:在ES更改画面后,怎样使服务器画面随着变?
quote:以下是引用凌波微步在&21:55:24的发言:不是点SERVER项目下装。&1.点SERVER项目下装是下装你配置的WINCC&APPLICAITON&以及网卡;&2.应该点击SERVER项目下的那个PC电脑,进行下装。&3.ES工程师站下修改组态。在ES工程师站下,修改的画面要在SERVER项目下修改,而不是ES项目下。如果是在ES项目下修改的,那么就将在ES下修改的画面拷贝到SERVER项目下,然后在下装。&&&是不是在服务器项目下修改后,需要对服务器进行OS编译??冗余服务器还需要吗?
回复:求助:在ES更改画面后,怎样使服务器画面随着变?
quote:以下是引用loading...在&14:01:32的发言:quote:以下是引用凌波微步在&21:55:24的发言:不是点SERVER项目下装。&1.点SERVER项目下装是下装你配置的WINCC&APPLICAITON&以及网卡;&2.应该点击SERVER项目下的那个PC电脑,进行下装。&3.ES工程师站下修改组态。在ES工程师站下,修改的画面要在SERVER项目下修改,而不是ES项目下。如果是在ES项目下修改的,那么就将在ES下修改的画面拷贝到SERVER项目下,然后在下装。&&&是不是在服务器项目下修改后,需要对服务器进行OS编译??冗余服务器还需要吗?&1.冗余服务器不需要改;&2.服务器项目修改需要下装;
回复:求助:在ES更改画面后,怎样使服务器画面随着变?
非常感谢!!!
& 西门子中国有限公司&&|&&怎么用Android opengl es画个圆柱?
[问题点数:40分,结帖人buluodebeidou]
怎么用Android opengl es画个圆柱?
[问题点数:40分,结帖人buluodebeidou]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。ZECO智歌ES50投影仪——播放视频+变焦调整画面大小——纯色显示_百度影视
订阅精彩视频,请
ZECO智歌ES50投影仪——播放视频+变焦调整画面大小——纯色显示OpenGL ES 2.0 绘制一个三角形 | Alex Zhou的BLOG
& OpenGL ES 2.0 绘制一个三角形
学习了OpenGL ES 2.0的基本知识后,我们来完成一个小demo:使用OpenGL ES 2.0绘制一个简单的三角形。这个demo的目的只是了解使用OpenGL ES 2.0绘制一个三角形时需要执行的步骤。
主要包括以下知识点:
1. 使用EGL创建屏幕上渲染的表面Surface
2. 加载顶点和片元着色器
3. 创建program对象,连接顶点和片元着色器,链接program对象。
4. 设置视口(viewport)。
5. 清除颜色缓冲区。
6. 绘制一个简单的图元。
7. 使颜色缓冲区的内容显示到EGL窗口表面(屏幕)。
从上面的步骤来看,使用OpenGL ES 2.0绘制一个三角形还挺复杂的,因为OpenGL ES 2.0完全基于着色器,也就是说如果你不加载和绑定合适的着色器,将不能绘制任何东西,所以要比固定管线的OpenGL ES1.x复杂很多。这个demo中使用了OpenGL ES 2.0 Programming Guide书中提供的代码框架,这个框架是跨平台的,可以让我们专注的学习OpenGL ES 2.0相关的API。凡是es开头的函数都是框架封装的,比如:esInitialize()。框架源码地址:
demo需要运行到AMD’s OpenGL ES 2.0 emulator上,安装模拟器很简单,前提是你机器的显卡需要支持OpenGL 2.0。模拟器的安装可以参考这篇博客:。下载OpenGL ES 2.0 Programming Guide书中的例子代码解压,下面是例子中各目录的含义:
Common/*:包含框架源码和OpenGL ES 2.0所需的头文件。
Chapter_X/*:书中所有章节的例子源码。
下面看demo的代码,下面是main函数:
int main( void ) {
ESContext esC
UserData userD
esInitContext( &esContext );
esContext.userData = &userD
esCreateWindow( &esContext, "Hello Triangle", 320, 240, ES_WINDOW_RGB );
if( !init( &esContext ) ) {
esRegisterDrawFunc( &esContext, draw );
esMainLoop( &esContext );
首先声明一个ESContext,这个是框架提供的结构,封装了一些公用的数据,这样就可以不需要定义全局变量了,主要是为了可移植性,因为一些平台不支持全局变量,比如Symbian。ESContext内容为:
typedef struct
/// Put your user data here...
/// Window width
/// Window height
/// Window handle
EGLNativeWindowType
/// EGL display
EGLDisplay
/// EGL context
EGLContext
/// EGL surface
EGLSurface
/// Callbacks
void (ESCALLBACK *drawFunc) ( void* );
void (ESCALLBACK *keyFunc) ( void*, unsigned char, int, int );
void (ESCALLBACK *updateFunc) ( void*, float deltaTime );
userData是一个void*,可以保存一些有用的数据。
UserData是demo里面封装的一个结构,内含program对象:
typedef struct{
GLuint programO
esInitContext函数用来初始化ESContext结构。esCreateWindow函数创建一个指定宽、高和标题的窗口,最后一个参数是一个位标志,这里使用RGB framebuffer,具体含义等以后学习EGL时再讲。这个函数使用EGL在屏幕上创建一个渲染表面并附加到一个窗口上,EGL是跨平台的,它是OpenGL ES跟本地窗口系统的中介,可以用它来创建渲染表面和上下文。创建完窗口之后,就需要初始化着色器、program对象等OpenGL ES所需要的东东了。初始化完成后指定一个回调函数draw,系统会循环执行这个函数,渲染帧数据。最后执行esMainLoop,进入主消息循环,是一个无限循环,直到窗口被关闭为止。
下面重点来看看init函数:
int init( ESContext *esContext ) {
UserData *userData = ( UserData* )esContext-&userD
const char* vertexShaderSrc =
"attribute vec4 vP
"void main()
gl_Position = vP
const char* fragmentShaderSrc =
"void main()
gl_FragColor = vec4 ( 1.0, 0.0, 0.0, 1.0 );\n"
GLuint vertexS
GLuint fragmentS
GLuint programO
vertexShader = loadShader( GL_VERTEX_SHADER, vertexShaderSrc );
fragmentShader = loadShader( GL_FRAGMENT_SHADER, fragmentShaderSrc );
programObj = glCreateProgram();
if( programObj == 0 ) {
glAttachShader( programObj, vertexShader );
glAttachShader( programObj, fragmentShader );
glBindAttribLocation( programObj, 0, "vPosition" );
glLinkProgram( programObj );
glGetProgramiv( programObj, GL_LINK_STATUS, &linked );
if( !linked ) {
GLuint infoLen = 0;
glGetProgramiv( programObj, GL_INFO_LOG_LENGTH, &infoLen );
if(infoLen & 1) {
char *infoLog = ( char* )malloc( sizeof(char) * infoLen );
glGetProgramInfoLog( programObj, infoLen, NULL, infoLog );
esLogMessage( "Error linking program:\n%s\n", infoLog );
free(infoLog);
glDeleteProgram( programObj );
return FALSE;
userData-&programObj = programO
glClearColor( 0.0f, 0.0f, 0.0f, 1.0f );
return TRUE;
首先定义了顶点着色器和片元着色器源码,因为在OpenGL ES 2.0中,不加载这两个东东是不能绘制的。顶点着色器代码vertexShaderSrc声明了一个vec4类型(包含4个float的向量)的输入属性vPosition,main函数是着色器的入口函数,在main函数中把vPosition赋值给内置输出变量 gl_Position,这个变量会传给图元装配阶段。片元着色器代码fragmentShaderSrc 首先为float变量指定了一个默认的精度mediump,然后在main函数中给内置输出变量gl_FragColor赋值为vec4 ( 1.0, 0.0, 0.0, 1.0 ),这里指定所有的片元输出颜色为红色。一般来说,在开发中着色器代码不会以字符串常量的形式出现在代码中,会放到文件中,这里是为了简单方便。接着调用loadShader函数加载着色器代码,loadShader函数源码:
GLuint loadShader( GLenum type, const char* shaderSrc ) {
shader = glCreateShader( type );
if(shader == 0) {
glShaderSource( shader, 1, &shaderSrc, NULL );
glCompileShader( shader );
glGetShaderiv( shader, GL_COMPILE_STATUS, &compiled );
if( !compiled ) {
GLint infoLen = 0;
glGetShaderiv( shader, GL_INFO_LOG_LENGTH, &infoLen );
if( infoLen & 1 ) {
char *infoLog = ( char* )malloc( sizeof(char) * infoLen );
glGetShaderInfoLog( shader, infoLen, NULL, infoLog );
esLogMessage( "Error compiling shader:\n%s\n", infoLog );
free( infoLog );
glDeleteShader( shader );
首先调用glCreateShader创建指定类型(顶点或片元)的着色器对象,接着调用glShaderSource加载着色器代码,然后调用glCompileShader编译着色器。glGetShaderiv函数是获得着色器编译状态的,判断是否发生了错误。如果一切正常,则返回创建的着色器对象。
继续回到init函数,创建了顶点着色器和片元着色器之后需要创建program对象(着色器对象跟program对象的关系可以理解成编译器和链接器)。需要把着色器对象连接到program对象,一个program对象必须连接一个顶点着色器和一个片元着色器。接着设置顶点着色器属性vPosition的位置为0,即绑定到位置0,在稍后设置顶点数据时有用:
glBindAttribLocation( programObj, 0, "vPosition" );
之后链接program对象,获取链接状态,检查是否出现错误,最后把创建的program对象保存到UserData中。
glClearColor( 0.0f, 0.0f, 0.0f, 1.0f );
上面这行代码是设置glClear时的背景颜色。
现在回到main函数:
esRegisterDrawFunc( &esContext, draw );
这行代码是指定回调的draw函数,这个函数会一直循环调用的,draw函数源码如下:
void draw( ESContext *esContext ) {
UserData *userData = ( UserData* )esContext-&userD
GLfloat vertices[] = { 0.0f,
0.5f, 0.0f,
-0.5f, -0.5f, 0.0f,
0.5f, -0.5f, 0.0f };
glViewport( 0, 0, esContext-&width, esContext-&height );
glClear( GL_COLOR_BUFFER_BIT );
glUseProgram( userData-&programObj );
glVertexAttribPointer( 0, 3, GL_FLOAT, GL_FALSE, 0, vertices );
glEnableVertexAttribArray( 0 );
glDrawArrays( GL_TRIANGLES, 0, 3 );
eglSwapBuffers( esContext-&eglDisplay, esContext-&eglSurface );
draw函数实现了绘制帧数据,在draw函数中首先定义了顶点数据坐标,然后调用了glViewport,通知OpenGL ES将要绘制的2D渲染表面的起点(x, y)、宽和高,就是设置最终绘制区域(可视区域)。glClear( GL_COLOR_BUFFER_BIT )是以指定的颜色清除颜色缓冲区,就是清屏,这里将使用glClearColor设置的颜色,glClearColor需要在glClear之前执行。为了使用program对象进行渲染,需要调用glUseProgram函数,这样接下来的所有渲染都会使用连接到program对象的着色器。接下来完成加载几何图形和绘制图元,我们指定几何图形为三角形,指定三角形的顶点坐标数组vertices,然后把顶点位置加装到OpenGL ES,并连接顶点着色器定义的属性vPosition。还记得之前把vPosition变量绑定到顶点着色器属性0位置吗?因为顶点着色器中的每个属性都有一个唯一的位置(可以理解为索引,是一个unsigned int值),我们使用glVertexAttribPointer函数把顶点数据加载到着色器中索引为0的属性。glEnableVertexAttribArray是启用通用顶点数组属性。glDrawArrays函数是告诉OpenGL ES将要绘制的图元是三角形。最后执行eglSwapBuffers把缓存中的数据显示到绑定的屏幕上, 这里使用了双缓冲技术:前台缓冲区(屏幕上可见)和后台缓冲区(不可见),等到后台缓冲区渲染完成后再跟前台缓冲区交换,实现平滑过渡,如果直接更新前台缓冲区数据,会出现一闪闪的效果。最终看到的效果如图:
您可能也喜欢:
Opengl es 2.0实现了可编程的图形管线,比起1.x的固定管线要复杂和灵活很多,由两部分规范组成:Opengl es 2.0 API规范和Opengl es着色语言规范。下图是Openg...
1. 下载AMD的OpenGL ES2.0的模拟器,下载地址:
http://www./ESEmulator.-v1.4.APRIL_2009_RELEASE.msi
2. 下载《OpenGL ES2.0 P...}

我要回帖

更多关于 gta4真实画面补丁 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信