Message #11814
Sujet: Changer la coloration de la texture d'une skybox
| Type | Date | Auteur | Contenu |
|---|---|---|---|
| Création du message | 22-05-2017 23:37:06 | Magun |
bon c'est vrais que ton pc n'ai vraiment pas adapter pour dev surtout de la 3D
Pour ce qui est de ton code, essaye de me préparer une démo simple, minimal et propre, qui ne prend que les aspects utiles a ton problème par ce que moi la, j'arrive dans ton code : entres les différentes erreurs de syntaxe c++ et l'organisation du code ça devient difficile à comprendre et je n'ai pas le temps de tout réécrire: 1) ta essayer de faire du bump mapping ? pour l'instant je voie un gros "paté" au millieu de la carte avec des couleurs chelou qui ressemble a une texture de normal ... -> ???? 2) trouver pourquoi je n'ai pas d'eau -> ah ! c'est commenter dans CMapCore 3) bon j'ai de l'eau mais le rendu est horrible -> erreur de matrice ? mauvais shader ? 4) pourquoi y a pas de transparence ? a quoi correspond la skydom étrange au millieu ? les particules ? alors oui ça compile, mais même à l'execution je ne comprend pas ce que je voie, entre ce que ta essayer de faire, et le rendu final je preçois une intension, mais je ne suis pas sur si c'est voulu, ou des erreurs, ou irrlicht, ou ma machine ... c'est pas pratique et ça me prend du temps (par exemple un post comme celui-ci me prend environ 1h40 sans parler du code et de la doc) mais honêtement tu ne pourras pas gagner plus de performance si tu veut garder un rendu "equivalent", la seul solution c'est évidement d'enlever la reflexion c'est tout, et c'est très gourmant par ce que irrlicht n'est pas adapter le soucis vien entre autres du rendu du scenemanager en changent la camera de place à chaque itération il a besoin de recalculer les transformations, de retrier les objets par distance et ça deux fois, la ça va mais le pire, c'est le terrain, il ne met pas en caches ces informations et ne ce base que sur la distance de la caméra -> donc il doit recalculer le niveau de détail en permanance ce qui est très couteux donc en fonction de ce que tu veut gagner -> en général on laisse le joueur choisir en fonction des performances de sont pc
premier solutions: pour faire ça, je ferais un filtre basé sur ILightManager comme ça ta différent choix (reflexion du skydome, des objets transparent, du shadow, .... etc) et pratique avec OnRenderPassPreRender/OnNodePreRender/OnNodePostRender/OnRenderPassPostRender deuxième solution: ISceneManager est en fait un CSeneManager qui lui mếmé dérive de ISceneNode, donc du coup tu peut crée un ISceneNodeAnimator qui filtre @Children pour désactiver le rendu de certain node et faire un rendu de la reflexion avans le rendu de la scene "normal" troixième solution: tu écrit un shader spécial que tu applique partout qui te permet de crée une caméra virtuel différente de irrlicht qui te permetra de changer la position sans impacter les performances dans le cas ici présent une frame sur deux (pour la réflexion) tu copie donc simplement la matrice de la camera d'irrlicht que tu rebricole au besoin il y a plien d'autres solutions possibles ! sinon ba il faut ce pencher sur des techniques beaucoup plus avancer avec des optimisations dont tu n'a pas encore le niveau et dont les limites d'irrlicht ne permet pas sans une réécriture partiel |
| Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
|---|---|---|---|---|
|
Préférences cookies Corrections |
![]() ![]() ![]() ![]() |
Propulsé par Django xhtml 1.0 css 2.1 |
884 membres 1440 sujets 11337 messages |
Dernier membre inscrit: Saidov17 154 invités en ligne membre en ligne: - RSS Feed |