`
hereson3
  • 浏览: 159430 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

openGL贴图(借助glx),并测试性能(FPS)2

阅读更多

client.c

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/time.h>
#include <stdio.h>

static int s;
void initclient(char *ip)
{
     long port=8000;
     s=socket(PF_INET,SOCK_STREAM,0);

     struct sockaddr_in sa;
     sa.sin_family=AF_INET;
     sa.sin_addr.s_addr=inet_addr(ip);
     sa.sin_port=htons(port);
     connect(s,(struct sockaddr *)&sa,sizeof(sa));
}

void gettime(struct timeval *ptp)
{
    send(s,"a",2,0);
    recv(s,(char *)ptp,sizeof(struct timeval),0);  
}

/*
int main()
{
     struct timeval tpstart,tpend;
     init("127.0.0.1");
     int utime;
     while(1)
     {
         gettime(&tpstart);
         sleep(2);
        gettime(&tpend);
        utime=1000*(tpend.tv_sec-tpstart.tv_sec)+(tpend.tv_usec-tpstart.tv_usec)/1000;           
          printf("sleep used time: %d ms\n",utime);
     }
     return 0;
}
*/


server.c

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/time.h>


int gettimeofday(struct timeval *tv,struct timezone *tz);

int main()
{

     struct timeval tp;
    
  
     char buf[10];
     int sz;
     long s,fd,port=8000;
     struct sockaddr_in sa;

     sz=sizeof(sa);
     sa.sin_family=AF_INET;
     sa.sin_addr.s_addr=htonl(INADDR_ANY);
     sa.sin_port=htons(port);

     s=socket(PF_INET,SOCK_STREAM,0);
     bind(s,(struct sockaddr*)&sa,sz);
     listen(s,5);
     while(1)
     {
         fd=accept(s,(struct sockaddr *)&sa,&sz);
         if (!fork())
        {
             while(1)
             {
                 recv(fd,(char*)buf,10,0);
                 gettimeofday(&tp,NULL);
                 send(fd,(char *)&tp,sizeof(tp),0);
             }
         }
         else
             close(fd);
     }    
    
     return 0;
}


使用TCP/IP协议获取时间的原因是如果测试程序运行在VmWare下获取的时间不精确。
另外,增加glFinish函数的目的也是解决虚拟机下程序执行和glx显示之间的延时问题。

//引用请注明来自hi.baidu.com/xqs83

分享到:
评论

相关推荐

    OpenGL for x window (1)

    This book also: *explains the GLX model for integrating OpenGL and Xlib *shows how to use OpenGL with Motif and other widget sets *discusses the latest OpenGL standards: OpenGL 1.1, GLX 1.2, and GLU ...

    OpenGL Programming for the X Windows System

    This book also: *explains the GLX model for integrating OpenGL and Xlib *shows how to use OpenGL with Motif and other widget sets *discusses the latest OpenGL standards: OpenGL 1.1, GLX 1.2, and GLU ...

    linux下opengl加载bmp、png、jpg格式图片

    程序功能:通过glx将x11和sdl创建的窗口联系起来(不是sdl-opengl的东西)供opengl渲染显示的小程序,其中bmp的是通过分析bmp文件格式读取位图数据和sdl_image两种方式加载,Png和Jpg文件格式比较复杂,所以直接使用...

    OpenGL_参考手册.rar

    本书第1章是OpenGL入门,第2章对命令和例程进行了简介,第3章集中介绍了各种命令和例程,第4章介绍了定义的常量和相关命令,第5章是OpenGL参考说明,第6章是GLU的参考说明,第7章是GLX的参考说明。 本书在翻译过程...

    OpenGL库和配置方法

    基于Microsoft Visual Studio的OpenGL库和配置方法,计算机图形学

    OpenGL编程参考手册

    较详细地阐述了OpenGL对输入数据的处理过程(用点形式来指定一个几何体或用像素形式来定义一幅图像时),并告诉你如何用OpenGL函数来控制这个过程。此外,在本章中还对GLU和GLX函数作了讨论。 第3章 命令和例程...

    OPenGL参考手册

    在本书中,SGI的Dave Shreiner添加了OpenGL 1.2和GLX 1.3的大部分新的功能,并在David Yu的帮助下重新修订了图面。Norman Chin重新修订了GLU 1.3的参考说明。下列人员认真地进行了手册复审这一艰巨的工作,他们是:...

    OpenGL参考手册

    本书第1章是OpenGL入门,第2章对命令和例程进行了简介,第3章集中介绍了各种命令和例程,第4章介绍了定义的常量和相关命令,第5章是OpenGL参考说明,第6章是GLU的参考说明,第7章是GLX的参考说明

    opengles_spec_2_0

    This document outlines the OpenGL ES 2.0 specification. OpenGL ES 2.0 implements the Common profile only. The fixed point (signed 16.16) data type is supported for vertex attribute arrays only. Shader...

    openGL 参考手册

    OpenGL 实用库(OpenGL Utility Library,GLU)和对X窗口系统的OpenGL扩展(OpenGL Extension to the X Window System,GLX)为OpenGL提供了有用的支持特性和完整的OpenGL核心函数集。本书详细介绍了这些函数的功能...

    glew-2.1.0.zip_agoebc_glew-2.1.0_glew下载_opengl_opengl glew

    使用OpenGL的朋友都知道,window目前只支持OpenGL1.1的涵数,但 OpenGL现在都发展到2.0以上了,要使用这些OpenGL的高级特性,就必须下载最新的扩展,另外,不同的显卡公司,也会发布一些只有自家显卡才支 持的扩展...

    OpenGL 参考手册

    2.2 其他OpenGL命令 11 2.2.1 使用求值器 11 2.2.2 执行选择和反馈 11 2.2.3 显示列表的使用 12 2.2.4 模式和运行的管理 12 2.2.5 获取状态信息 12 2.3 OpenGL实用库 13 2.3.1 生成纹理操作所需的图形 13 2.3.2 坐标...

    GLX:GLX-Plugin - 用于监控和挂钩 OpenGL 调用的库

    格力士 GLX-Plugin - 用于监控和挂钩 OpenGL 调用的库。

    openGL指南,参考手册

    本书第1章是OpenGL入门,第2章对命令和例程进行了简介,第3章集中介绍了各种命令和例程,第4章介绍了定义的常量和相关命令,第5章是OpenGL参考说明,第6章是GLU的参考说明,第7章是GLX的参考说明。

    OpenGL API.doc

    OpenGL的常用API函数使用,&lt;库前缀&gt;&lt;根命令&gt;&lt;可选的参数个数&gt;&lt;可选的参数类型&gt; 库前缀有 gl、glu、aux、glut、wgl、glx、agl 等等。

Global site tag (gtag.js) - Google Analytics