简析OpenGL的2D、3D切换
最近做游戏的时候遇到了一个小问题,我们的游戏是2D、3D结合的(准确的说是主菜单、议会界面是2D的,但是真实打斗场景为3D),由2D切换到3D没有问题,但是由3D切换回2D问题就来了:每次切换都只有glClear()管用,其余的加载图片之类的都显示不了。经过分析感
最近做游戏的时候遇到了一个小问题,我们的游戏是2D、3D结合的(准确的说是主菜单、议会界面是2D的,但是真实打斗场景为3D),由2D切换到3D没有问题,但是由3D切换回2D问题就来了:每次切换都只有glClear()管用,其余的加载图片之类的都显示不了。经过分析感觉应该是视图矩阵的问题,因为在3D场景中我们多次调用了glLookAt()、gluPerspective()等函数,而每调用一次,OpenGL的机理是把当前矩阵乘上转换算子,所以每次都乘,到了2D场景的时候如果不转换回来就会出问题。
可以关注我的个人主页:http://alanzjl.sinaapp.com
解决这个问题有两种办法,第一种是在display()函数里通过glPushMatrix()、glPopMatrix()解决。但是我们遇到的问题是可能在display中Push、Pop的次数太多,导致最终这种办法不行。还有一种就是在初始状态下记录初始矩阵,在将切换回2D的时候恢复初始矩阵。
可通过
glGetIntegerv(GL_VIEWPORT,&view); //viewport
glGetDoublev(GL_MODELVIEW_MATRIX,&model);//model
glGetDoublev(GL_PROJECTION_MATRIX,&proj);//projection
得到。
但是我们只要得到一次而且是第一次的矩阵就可以,所以要借助一个static int变量。具体实现代码:
void my_display(void){ static flagggg; if(flagggg==0){ //只取第一次的初始矩阵 glGetIntegerv(GL_VIEWPORT,&view); //viewport glGetDoublev(GL_MODELVIEW_MATRIX,&model);//model glGetDoublev(GL_PROJECTION_MATRIX,&proj);//projection flagggg=1; } /************************************************************** 模式入口 **************************************************************/ if(Enter_Mode==-1) introduction(); else if(Enter_Mode==0) main_menu(); else if(Enter_Mode==1){ adventure(); //此处是3D } else if(Enter_Mode==2){ //此处是2D,会由上面一种模式切换到此模式,需要矩阵还原 glLoadMatrixd(view); glMatrixMode(GL_MODELVIEW); glLoadMatrixd(model); glMatrixMode(GL_PROJECTION); glLoadMatrixd(proj); congress(); } else if(Enter_Mode==3) achievement(); else if(Enter_Mode==4) quit(); else if(Enter_Mode==5) complete(); /**************************************************************/ }
其中,view、model、proj被我定义为了全局变量,它们是:
GLint view[4]; GLdouble model[16]; GLdouble proj[16];

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Xiaomi 14Ultra est l'un des modèles Xiaomi les plus populaires cette année. Xiaomi 14Ultra met non seulement à niveau le processeur et diverses configurations, mais apporte également de nombreuses nouvelles applications fonctionnelles aux utilisateurs. Cela se voit dans les ventes de téléphones mobiles Xiaomi 14Ultra. populaire, mais il existe certaines fonctions couramment utilisées que vous ne connaissez peut-être pas encore. Alors, comment Xiaomi 14Ultra bascule-t-il entre la 4g et la 5g ? Laissez-moi vous présenter le contenu spécifique ci-dessous ! Comment basculer entre la 4g et la 5g sur Xiaomi 14Ultra ? 1. Ouvrez le menu des paramètres de votre téléphone. 2. Recherchez et sélectionnez les options « Réseau » et « Réseau mobile » dans le menu des paramètres. 3. Dans les paramètres du réseau mobile, vous verrez l'option « Type de réseau préféré ». 4. Cliquez ou sélectionnez cette option et vous verrez

Comment convertir Win11 Home Edition en Win11 Professional Edition ? Dans le système Win11, il est divisé en Home Edition, Professional Edition, Enterprise Edition, etc., et la plupart des ordinateurs portables Win11 sont préinstallés avec le système Win11 Home Edition. Aujourd'hui, l'éditeur va vous montrer les étapes pour passer de la version familiale de Win11 à la version professionnelle 1. Tout d'abord, faites un clic droit sur cet ordinateur sur le bureau et les propriétés de Win11 ! 2. Cliquez sur Modifier la clé de produit ou Mettre à niveau Windows. 3. Cliquez ensuite sur Modifier la clé de produit après avoir entré. 4. Saisissez la clé d'activation : 8G7XN-V7YWC-W8RPC-V73KB-YWRDB et sélectionnez Suivant. 5. Ensuite, cela entraînera le succès, vous pourrez donc mettre à niveau la version familiale Win11 vers la version professionnelle Win11.

Sélectionnez "Auto" pour le rendu opengl ; sélectionnez généralement le mode automatique pour le rendu opengl. Le rendu sera automatiquement sélectionné en fonction du matériel réel de l'ordinateur, puis spécifiez la carte graphique appropriée. est plus adapté au rendu de graphiques vectoriels 2D et 3D, la prise en charge de l'API informatique générale OpenGL est plus puissante que celle du processeur.

De nombreux amis ne sont peut-être pas habitués au système Win lorsqu'ils entrent en contact avec celui-ci. À l'heure actuelle, vous pouvez basculer entre les deux systèmes. entre les deux systèmes. Comment basculer entre deux systèmes dans le système Win10 1. Changement de touche de raccourci 1. Appuyez sur les touches "win" + "R" pour ouvrir l'exécution 2. Entrez "msconfig" dans la zone d'exécution et cliquez sur "OK" 3. Dans le " ouvert " configuration du système" Dans l'interface, sélectionnez le système dont vous avez besoin et cliquez sur "Définir par défaut". Une fois terminé, "Redémarrer" peut terminer le changement. Méthode 2. Sélectionnez le commutateur lors du démarrage 1. Lorsque vous avez deux systèmes, une interface d'opération de sélection apparaîtra au démarrage. Vous pouvez utiliser les touches " Haut et Bas du clavier pour sélectionner le système.

Comment basculer entre les systèmes doubles Apple lors du démarrage Les ordinateurs Apple sont des appareils puissants En plus de leur propre système d'exploitation macOS, vous pouvez également choisir d'installer d'autres systèmes d'exploitation, tels que Windows, pour obtenir une commutation double système. Alors, comment basculer entre les deux systèmes lors du démarrage ? Cet article vous expliquera comment basculer entre deux systèmes sur les ordinateurs Apple. Tout d'abord, avant d'installer des systèmes doubles, nous devons confirmer si notre ordinateur Apple prend en charge la commutation double système. D'une manière générale, les ordinateurs Apple sont basés sur

Dans l'application du logiciel Excel, nous sommes habitués à utiliser des touches de raccourci pour rendre certaines opérations plus faciles et plus rapides. Parfois, il existe des données liées entre plusieurs tableaux dans Excel. Lorsque nous les visualisons, nous devons constamment basculer entre les tâches. méthode de commutation plus rapide, cela permettra d'économiser beaucoup de temps perdu sur la commutation, ce qui contribuera grandement à améliorer l'efficacité du travail. Quelle méthode peut être utilisée pour effectuer une commutation rapide. Pour résoudre ce problème, l'éditeur va en parler aujourd'hui. : Comment utiliser les touches de raccourci pour changer de classeur dans Excel. 1. Tout d'abord, vous pouvez voir plusieurs classeurs au bas du tableau Excel ouvert. Vous devez basculer rapidement entre différents classeurs, comme le montre la figure ci-dessous. 2. Appuyez ensuite sur la touche Ctrl du clavier sans bouger, et sélectionnez la tâche à droite si vous en avez besoin.

Win11 permet aux utilisateurs d'utiliser la touche de raccourci alt+tab pour afficher l'outil de changement de bureau, mais récemment, un ami a rencontré le problème selon lequel Win11 alt+tab ne peut pas changer d'interface. Je ne connais pas la raison ni comment le résoudre. Pourquoi win11 alt+tab ne peut-il pas changer d'interface ? Réponse : La fonction de touche de raccourci étant désactivée, voici la solution : 1. Tout d'abord, nous appuyons sur "win+r" sur le clavier pour ouvrir l'exécution. 2. Saisissez ensuite « regedit » et appuyez sur Entrée pour ouvrir la stratégie de groupe. 3. Saisissez ensuite « HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer »

Avec le développement rapide des smartphones, Huawei, en tant qu'entreprise technologique leader, a lancé de nombreux produits de téléphonie mobile populaires. Parmi eux, le double système Huawei est une fonctionnalité qui enthousiasme de nombreux utilisateurs. Grâce au double système Huawei, les utilisateurs peuvent exécuter simultanément deux systèmes d'exploitation, tels qu'Android et HarmonyOS, sur le même téléphone mobile. Cette fonctionnalité permet une plus grande flexibilité et commodité. Alors, comment changer les paramètres entre les systèmes doubles Huawei ? Découvrons ensemble. Tout d'abord, avant de passer à la configuration double système sur votre téléphone Huawei,
