opengl絕無僅有的漫遊程式qt專用

2021-06-08 07:35:59 字數 3745 閱讀 9637

mywidget.h

#ifndef

mywidget_h

#define

mywidget_h

#include

#include

#include

#include

#include

class

mywidget

:public

qglwidget

;
#endif

//mywidget_h

mywidget.cpp:
#include

"mywidget.h"

#include

#include

#include

#define

map3

mywidget::mywidget(

qwidget

*parent)

:qglwidget

(parent)

mywidget::~mywidget()
void

mywidget::eddy()

void

mywidget::initializegl()

void

mywidget::resizegl(

intwidth,

intheight)

void

mywidget::paintgl()

void

mywidget::drawground()

for(

intz

=-size0*

100;

z<

size0*

100;z+=

1)

glend();
glpopmatrix();
gldisable(gl_blend);
}
void

mywidget::drawwall()

void

mywidget::loadgltextures()

tex

=qglwidget

::converttoglformat(

buf);

glgentextures(1,

&texture[0]

);

glbindtexture(

gl_texture_2d,

texture[0]

);

gltexparameteri(

gl_texture_2d,

gl_texture_mag_filter,

gl_nearest

);

gltexparameteri(

gl_texture_2d,

gl_texture_min_filter,

gl_nearest

);

glteximage2d(

gl_texture_2d,0,

3,tex.width(),

tex.height(),

0,

gl_rgba,

gl_unsigned_byte,

tex.bits()

);

}
void

mywidget::keypressevent(

qkeyevent

*event)

else

if(event->key()

==qt

::key_right)

rad_xz

=float

(3.14159

*g_angle/

180.0f

);

if(event->key()

==qt

::key_up)

else

if(event->key()

==qt

::key_down)

else

if(event->key()

==qt

::key_pageup)

//抬頭

else

if(event->key()

==qt

::key_pagedown)

g_look[0]

=float

(g_eye[0]

+0.01

*cos(rad_xz));

g_look[2]

=float

(g_eye[2]

+0.01

*sin(rad_xz));

g_look[1]

=g_eye[

1];

//建立modelview矩陣方向

glulookat(g_eye[

0],g_eye[

1],g_eye[

2],g_look[

0],g_look[

1]+g_elev,g_look[2],

0.0,

1.0,

0.0);

updategl();
qdebug()<<

"g_eye:"

<0]<1]<2]<<

";"<<

"\n"

<<

"g_look"

<0]<1]<2];

}

拒絕無效加班 !

文 ido老徐 是的,由於版本緊急發布,需要技術支撐,老徐今天在公司陪同專案組加了個班。一天下來,毫無成就感,明顯的無效加班。各種坑,各種混亂,各種不爽 雖然整個過程有持續整合,自動打包 部署 發布 校驗 單元測試 介面測試 自動化測試,但是依然坑多多。本質來講,還是團隊協作問題,還是專案經理問題,...

拒絕無效加班 !

文 ido老徐 是的,由於版本緊急發布,需要技術支撐,老徐今天在公司陪同專案組加了個班。一天下來,毫無成就感,明顯的無效加班。各種坑,各種混亂,各種不爽 雖然整個過程有持續整合,自動打包 部署 發布 校驗 單元測試 介面測試 自動化測試,但是依然坑多多。本質來講,還是團隊協作問題,還是專案經理問題,...

拒絕無效加班 !

文 ido老徐 是的,由於版本緊急發布,需要技術支撐,老徐今天在公司陪同專案組加了個班。一天下來,毫無成就感,明顯的無效加班。各種坑,各種混亂,各種不爽 雖然整個過程有持續整合,自動打包 部署 發布 校驗 單元測試 介面測試 自動化測試,但是依然坑多多。本質來講,還是團隊協作問題,還是專案經理問題,...