📰 Title: | OGRE | 🕹️ / 🛠️ Type: | Tool |
---|---|---|---|
🗃️ Genre: | Development | 👁️ Visual: | 2D & 3D |
🏷️ Category: | Development ➤ Framework & Tool ➤ Rendering Framework | 🏝️ Perspective: | Third & First person |
🔖 Tags: | IDE; Rendering; OGRE engine; Multi-platform; Animation; Realistic Materials; Mesh and Skeletal Animation; Flagship; Particle system | ⏱️ Pacing: | Real Time |
🐣️ Approx. start: | 2008-05-12 | 👫️ Played: | Single & Multi |
🐓️ Latest: | 2024-06-02 | 🚦 Status: | 04. Released (status) |
📍️ Version: | OGRE1: Latest : 💥️ 14.2.6 / Dev: 111b91c // OGRE-next: Latest : 2.3.3 / Dev: 2.4 / 08e9d74 | ❤️ Like it: | 9. ⏳️ |
🏛️ License type: | 🕊️ Libre | 🎀️ Quality: | 7. ⏳️ |
🏛️ License: | MIT | ✨️ (temporary): | |
🐛️ Created: | 2011-09-15 | 🐜️ Updated: | 2024-07-01 |
📦️ Package name: | libogre | ..... 📦️ Arch: | ![]() |
---|---|---|---|
📄️ Source: | ![]() |
..... 📦️ RPM: | ![]() |
⚙️ Generic binary: | ..... 📦️ Deb: | ![]() |
|
🌍️ Browser version: | ..... 📦️ AppImage: | ||
📱️ PDA support: | ..... 📦️ Flatpak: | ||
✨️ Not use: | ..... 📦️ Snap: | ![]() |
📰 What's new?: | 👔️ Already shown: | ||
---|---|---|---|
💡 Lights on: | 💭️ New version published (to be updated): | ||
🎨️ Significant improvement: | 🦺️ Work in progress: | ||
🎖️ This work: | ![]() |
🚧️ Some work remains to be done: | |
👫️ Contrib.: | goupildb & Louis | 👻️ Temporary: | |
🎰️ ID: | 12122 |
📜️[en]: | A libre, multi-platform and flexible engine oriented towards hardware-accelerated 3D scene rendering (no software rendering) supporting Direct3D and OpenGL (Vulkan port in progress). It adds an abstraction layer between the API and the platforms and thus allows scene oriented coding through an easy to use object model. It is adaptable to multiple scene types (internal or external). | 📜️[fr]: | Un moteur libre, multiplateforme et flexible orienté vers le rendu de scènes 3D accélérées matériellement (pas de rendu logiciel) supportant Direct3D et OpenGL (portage Vulkan en cours). Il ajoute une couche d'abstraction entre l'API et les plateformes et ainsi permet un codage orienté scène au travers d'un modèle d'objet facile à utiliser. Il est adaptable à de multiples types de scènes (internes ou externes). |
---|
💎 Features: Vulkan API Sample Scene AMD Radeon R5 240 (202305),
🕯️ How To: (1.9/202001),
🎮️ Showcase:
• SHMUP Creator showcase March 2023 (202303),
• Shadows: Heretic Kingdoms, by Games Farm (201411), Kenshi, by Lo-Fi Games (202001), Zombie Driver, by Exor Studios (201502),
• Hob, by Runic Games (201709), X-Morph: Defense, by EXOR Studios (201702), Rebel Galaxy, by Double Damage Games (201410),
• Torchlight II, by Runic Games (201208), Running with Rifles, by Osumia Games (201504),
🏡️ Website & videos
[Homepage] [Dev site] [Features/About 1 2] [Screenshots] [WIKI 1 (OGRE) 2 (OGRE-Next)] [FAQ]
• OGRE: [Dev site] [RSS] [Changelog 1 2 3] [Videos ft(202305) ft(201402) ft(201507) ft(201211) ft(201101) t(202xxx) gd(202xxx) gu(201409) r(1.12/201905) lp(202xxx) sc(202303) d(201411) d(202001) d(201502) d(201709) d(201702) d(201410) d(201208) d(201504) d(201508) d(202010) d(201210) d(201405) d(201507) d(201502) d(201505) d(201510) d(201406) d(201510) d(201411) d(201407) g(202xxx) g[fr](202xxx) g[de](202xxx) g[ru](202xxx) g[pl](202xxx) g[cz](202xxx) g[sp](202xxx) g[pt](202xxx) g[it](202xxx) g[tr](202xxx) g(202xxx)]
• OGRE-next: [Dev site] [RSS] [Changelog 1 2 3] [Videos ft(2.2.4/202009) ft(2.2.4/202009) ft(2.2/201908) t(202xxx) gd(202xxx) gu(202xxx) r(2.1/202004) lp(202xxx) ht(1.9/202001) g(202xxx) g[fr](202xxx) g[de](202xxx) g[ru](202xxx) g[pl](2021) g[cz](202xxx) g[sp](202xxx) g[pt](202xxx) g[it](202xxx) g[tr](202xxx)]
💰 Commercial
• [Support their work (Donate)] [Patreon]
🍩️ Resources
• (empty, license): [Homepage] [Dev site] 🎬️ g(202xxx)
🛠️ Technical informations
[Open Hub] [PCGamingWiki] [MobyGames] [Showcase]
🦣️ Social
Devs (The OGRE Team 1 2 (ogre) 3 (ogre-next) [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
The Project: [Blog] [Forums] [mastodon] [PeerTube] [YouTube] [PressKit] [reddit] [Discord]
🐝️ Related
[Wikipedia (OGRE) [fr] [en] [de]]
[HOLaRSE [de]] [Mod DB] [Indie DB]
📦️ Misc. repositories
• OGRE:
[Repology] [pkgs.org] [Generic binary] [Arch Linux / AUR] [openSUSE] [Debian/Ubuntu] [Flatpak] [AppImage(author's repo)] [Snap] [PortableLinuxGames]
• OGRE-next:
[Repology] [pkgs.org] [Generic binary] [Arch Linux / AUR] [openSUSE] [Debian/Ubuntu] [Flatpak] [AppImage(author's repo)] [Snap] [PortableLinuxGames]
🕵️ Reviews
[HowLongToBeat] [metacritic] [OpenCritic] [iGDB]
🕊️ Source of this Entry: [Site (date)]
🦣️ Social Networking Update (on mastodon)
🛠️ Title: OGRE
🦊️ What's: A libre 3D graphics engine
🏡️ https://www.ogre3d.org
🐣️ https://github.com/OGRECave
🔖 #LinuxGameDev #Flagship #GraphicsEngine
📦️ #Libre #Arch #RPM #Deb #Snap
📖 Our entry: https://www.lebottindesjeuxlinux.tuxfamily.org/en/online/lights-on/
Stable -------------------------------------
💥️ NEW!
🥁️ Update (stable/OGRE): 14.2.6
⚗️ Code improvement 🚀️
📌️ Changes: https://github.com/OGRECave/ogre/releases
🦣️ From: 🛜️ https://github.com/OGRECave/ogre/releases.atom
Dev ----------------------------------------
🥁️ Update (dev/OGRE-next): 2.3.1➜2.3.3
⚗️ Maintenance 🪛️
📌️ Changes: https://www.ogre3d.org/2023/11/06/ogre-next-2-3-3-daedalus-2-2-7-cerberus-released
🦣️ From: https://social.tchncs.de/@meldrian/111396627904370320
🛜️ https://github.com/OGRECave/ogre-next/releases.atom
🎮️ https://www.youtube.com/embed/eGlg3yzLipE
🎮️ https://www.youtube.com/embed/Xd1XnmwD8zE
🎮️ https://www.youtube.com/embed/idegV1zO0KA
🎮️ https://www.youtube.com/embed/EljXnVDHwwI
🎮️ https://www.youtube.com/embed/HH_sGQRSpzo
🎮️ https://www.youtube.com/embed/e1xpv-9AwPs
🕶️ The engine logo
📚️ OGRE is a libre, multi-platform and flexible engine oriented towards hardware-accelerated 3D scene rendering (no software rendering) supporting Direct3D and OpenGL (Vulkan port in progress). It adds an abstraction layer between the API and the platforms and thus allows scene oriented coding through an easy to use object model. It is adaptable to multiple scene types (internal or external).
📜️ "A libre & flexible engine oriented towards hardware-accelerated 3D scene rendering" 📜️ .
About
OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented, flexible 3D engine written in C++ designed to make it easier and more intuitive for developers to produce applications utilising hardware-accelerated 3D graphics. The class library abstracts all the details of using the underlying system libraries like Direct3D and OpenGL and provides an interface based on world objects and other intuitive classes.
What can it do?
Lots of things! See the features page for an up-to-date list of the current features. Also, take a look at the screenshots page to see for yourself the kinds of eye candy OGRE can pump out.
Is OGRE a Game Engine?
No. OGRE can be (and indeed has been) used to make games, but OGRE is deliberately designed to provide just a world-class graphics solution; for other features like sound, networking, AI, collision, physics etc, you will need to integrate it with other libraries, something several frameworks have done, and we have a collision / physics reference integration library as an example in our distribution.
Why? Well, one reason is that not everyone who needs a 3D engine wants to make games, so we don’t assume that you do – you can use OGRE for games, simulations, business applications, anything at all. Secondly, even within the games industry, requirements can vary widely; for example a MMORPG will need a very different kind of network library than an FPS, and a flight sim will need a different kind of collision / physics system to fighting game. If OGRE included all these features, we would be enforcing a particular set of libraries on you, with an inbuilt set of assumed requirements, and that’s not good design. Instead, we provide a very integration friendly API and let YOU choose the other libraries, if you want them. Many experienced game developers have expressed their approval of this approach, because there are no inbuilt constraints. It can be more daunting for newer users who just want to build another FPS-style game, but for those people there are a growing number of existing frameworks using OGRE which provide a complete solution using a given combo of libraries; but it’s important to realise that OGRE itself will always remain separate, flexible enough to be incorporated into any of these. The principle is of collaboration and integration with other libraries, rather than assimilation of them, a standard tenet of component-based design.
Why should I consider using OGRE (rather than the other zillion 3D engines out there)?
Many other engines, whilst technically impressive, lack the cohesive design and the consistent documentation to allow them to be used effectively. Many of them have long features lists, but have the feel of a bunch of tech demos lashed together with twine, with no clear vision to hold them together. Like any other software system this becomes their downfall as they become larger. Most other engines are also designed for one particular style of game or demo (e.g. first-person shooters, terrain roamers).
OGRE is different. OGRE is design-led rather than feature-led. Every feature that goes into OGRE is considered thoroughly and slotted into the overall design as elegantly as possible and is always fully documented, meaning that the features which are there always feel part of a cohesive whole. Quality is favored over quantity, because quantity can come later – quality can never be added in retrospect. OGRE uses sound design principles learned, tried and tested many times in commercial-grade software – the object-orientation mentioned in it’s moniker is just one of those approaches – frequent use of design patterns is another. The core development team is kept deliberately small, and all of its members are veteran software engineers with many years of real-world experience. Patches are welcomed from community, but they undergo a strict review for both quality and cohesion with the Ogre philosophy before being accepted.
OGRE does not assume what type of game or demo you want to make. It uses a flexible class hierarchy allowing you to design plugins to specialise the scene organisation approach taken to allow you to make any kind of scene you like. Want to render indoor levels fast? Fine, use the BSP/PVS plugin scene manager which has already been written. Want an outdoor landscape? Again, use another plugin scene manager. The rest of the engine continues to function exactly as before.
So the short answer is – if you favour design quality, flexibility and clear documentation, choose OGRE. You know it makes sense. 😉
Is it really free?
The Ogre source is made available under the MIT License, which basically means you can use it however you like as long as you include the content of our COPYING file somewhere in your application. The source to your application, or your modifications to Ogre do not have to be released (although it would be nice if you did). See the licensing page for full licensing terms.
Ogre is a 3D graphics rendering engine. Not to be confused with a game engine which provides Networking, Sound, Physics, etc.
Ogre 2.2 has had a substantial overhaul to focus on high performance graphics using Data Oriented Design with:
• Cache friendly Entity and Node layout
• Threaded batch processing of Nodes, Frustum Culling and other techniques such as Forward Clustered
• SIMD processing using AoSoA (Array of Structures of Arrays) memory layout
• Texture loaded via background streaming
This makes Ogre suitable for projects aiming to have a large number of objects on screen, or have tight rendering budgets such as VR.
OGRE is not one, but two “sister” projects. They are related, but they are not the same – as in being not compatible to one another. You may be confused which version to pick. The information below will help you to find the correct version for your needs:
Ogre1
• You need the 1st and 3rd party plugins/components (CEGUI, ParticleUniverse, Terrain, Volume, etc.)
• You want to program in Python/ C#/ Java
• You target mobile platforms (Android, iOS, WebGL, Windows UWP)
• You only need a moderate about (order of 1000) of objects per frame
• You want to use a verified code (as in Unit Tests)
• You like to learn from Wiki code snippets and a lot of existing resources found online.
• You are already used to Ogre or have a long-standing existing code base.
• You need broad hardware support including DX9 and OpenGL 1.5 class Hardware
Ogre Next
• You need many objects (order of 10 000) per frame.
• You want the huge performance boost in the above usecase. Your main target is Windows and/or Linux for now.
• You like bleeding edge.
• You already know your way around Ogre or can learn the API from source code as Documentation is still scarce
• You don’t need the 1st and 3rd party plugins/components that haven’t been ported yet (like CEGUI, ParticleUniverse, Terrain Component, Volume Component, etc). Check the 2.0+ Forum as some of these plugins e.g. ParticleUniverse have been ported by community members.
• You don’t care about Android support (or anything older than the iPhone 5S) for now and can wait for it.
🍥️ Debian:
3D Object-Oriented Graphics Rendering Engine (development files)
OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented, flexible 3D engine written in C++ designed to make it easier and more intuitive for developers to produce applications utilising hardware-accelerated 3D graphics. The class library abstracts all the details of using the underlying system libraries like Direct3D and OpenGL and provides an interface based on world objects and other intuitive classes.
🌍️ Wikipedia:
Object-Oriented Graphics Rendering Engine (OGRE) is a scene-oriented, real-time, open-source, 3D rendering engine.
Ogre has been ported to Windows, macOS, Linux, PocketPC, Xbox, and PS3.
Since 2019, Ogre consists of two forks developed separately, namely Ogre (also called Ogre1), which is based on the original 1.x codebase and Ogre Next (also called Ogre2), which is based on the 2.x development efforts.
Games and applications
• Gazebo simulator[6] and Ignition Gazebo
• Hob
• OpenMW (until v0.37.0)
• Rebel Galaxy
• Rebel Galaxy Outlaw
• Rigs of Rods
• Roblox (2009 - 2014)
• Running with Rifles
• Scrap Mechanic (until 2016)
• Shadows: Heretic Kingdoms
• TROUBLESHOOTER: Abandoned Children
• Torchlight[4] & Torchlight II
• Walaber's Trampoline
• Zombie Driver
• Kenshi
Un moteur multiplateforme et flexible orienté vers le rendu de scènes 3D accélérées matériellement, par The OGRE Team.
En C++.
OGRE (Object-Oriented Graphics Rendering Engine, Ogre 3D) est un moteur libre, multi-plateforme et flexible orienté vers le rendu de scènes 3D accélérées matériellement (pas de rendu logiciel). Il supporte à la fois Direct3D et OpenGL (portage Vulkan en cours). C'est un moteur polyvalent et très utilisé, permettant d'ajouter une couche d'abstraction entre l'API et les plateformes et ainsi d'effectuer un codage orienté scène au travers d'un modèle d'objet facile à utiliser. Il est adaptable à de multiples types de scènes (internes ou externes).
À propos
OGRE (Object-Oriented Graphics Rendering Engine) est un moteur 3D flexible, orienté vers les scènes et écrit en C++, conçu pour permettre aux développeurs de produire plus facilement et plus intuitivement des applications utilisant des graphiques 3D accélérés par le matériel. La bibliothèque de classes résume tous les détails de l'utilisation des bibliothèques système sous-jacentes comme Direct3D et OpenGL et fournit une interface basée sur des objets du monde et d'autres classes intuitives.
Que peut-il faire ?
Beaucoup de choses ! Consultez la page des fonctionnalités pour obtenir une liste actualisée des fonctionnalités actuelles. Jetez également un coup d'œil à la page des captures d'écran pour vous rendre compte par vous-même du genre de bonbons pour les yeux qu'OGRE est capable de pomper.
OGRE est-il un moteur de jeu ?
Non. OGRE peut être (et a été) utilisé pour créer des jeux, mais OGRE est délibérément conçu pour fournir uniquement une solution graphique de classe mondiale ; pour d'autres fonctionnalités comme le son, la mise en réseau, l'IA, les collisions, la physique, etc., vous devrez l'intégrer à d'autres bibliothèques, ce que plusieurs frameworks ont fait, et nous avons une bibliothèque d'intégration de référence pour les collisions / la physique comme exemple dans notre distribution.
Pourquoi ? Eh bien, l'une des raisons est que tous ceux qui ont besoin d'un moteur 3D ne veulent pas faire des jeux, donc nous ne supposons pas que vous en faites - vous pouvez utiliser OGRE pour des jeux, des simulations, des applications commerciales, n'importe quoi. Deuxièmement, même dans l'industrie du jeu, les besoins peuvent varier considérablement ; par exemple, un MMORPG aura besoin d'un type de bibliothèque réseau très différent d'un FPS, et une simulation de vol aura besoin d'un type de système de collision/physique différent de celui d'un jeu de combat. Si OGRE incluait toutes ces fonctionnalités, nous vous imposerions un ensemble particulier de bibliothèques, avec un ensemble intégré d'exigences supposées, et ce n'est pas une bonne conception. Au lieu de cela, nous fournissons une API très facile à intégrer et nous vous laissons choisir les autres bibliothèques, si vous les voulez. De nombreux développeurs de jeux expérimentés ont exprimé leur approbation de cette approche, car il n'y a pas de contraintes intégrées. Cela peut être plus intimidant pour les nouveaux utilisateurs qui veulent juste construire un autre jeu de style FPS, mais pour ces personnes, il existe un nombre croissant de frameworks utilisant OGRE qui fournissent une solution complète en utilisant une combinaison donnée de bibliothèques ; mais il est important de réaliser qu'OGRE lui-même restera toujours séparé, suffisamment flexible pour être incorporé dans l'une d'entre elles. Le principe est la collaboration et l'intégration avec d'autres bibliothèques, plutôt que l'assimilation de celles-ci, un principe standard de conception basée sur les composants.
Pourquoi devrais-je envisager d'utiliser OGRE (plutôt que les autres zillions de moteurs 3D qui existent) ?
De nombreux autres moteurs, bien qu'ils soient techniquement impressionnants, n'ont pas la conception cohésive et la documentation cohérente qui leur permettraient d'être utilisés efficacement. Beaucoup d'entre eux ont une longue liste de fonctionnalités, mais donnent l'impression d'être un tas de démonstrations technologiques attachées ensemble avec de la ficelle, sans vision claire pour les maintenir ensemble. Comme tout autre système logiciel, ils s'effondrent à mesure qu'ils deviennent plus volumineux. La plupart des autres moteurs sont également conçus pour un style particulier de jeu ou de démo (par exemple, les FPS, les Walking Sim).
OGRE est différent. OGRE est basé sur la conception plutôt que sur les fonctionnalités. Chaque fonctionnalité d'OGRE est étudiée de manière approfondie et intégrée dans le design global de la manière la plus élégante possible. Elle est toujours entièrement documentée, ce qui signifie que les fonctionnalités qui s'y trouvent font toujours partie d'un ensemble cohérent. La qualité est privilégiée par rapport à la quantité, car la quantité peut venir plus tard - la qualité ne peut jamais être ajoutée rétrospectivement. OGRE utilise de solides principes de conception appris, éprouvés et testés à maintes reprises dans des logiciels de qualité commerciale - l'orientation objet mentionnée dans son nom n'est qu'une de ces approches - l'utilisation fréquente de modèles de conception en est une autre. L'équipe centrale de développement est délibérément réduite et tous ses membres sont des ingénieurs en logiciel chevronnés ayant de nombreuses années d'expérience dans le monde réel. Les correctifs sont les bienvenus de la part de la communauté, mais ils font l'objet d'un examen strict pour en vérifier la qualité et la cohésion avec la philosophie Ogre avant d'être acceptés.
OGRE ne présume pas du type de jeu ou de démo que vous voulez faire. Il utilise une hiérarchie de classes flexible qui vous permet de concevoir des plugins spécialisés dans l'approche de l'organisation de la scène, afin de vous permettre de créer n'importe quel type de scène que vous aimez. Vous voulez rendre des niveaux d'intérieur rapidement ? Très bien, utilisez le gestionnaire de scène du plugin BSP/PVS qui a déjà été écrit. Vous voulez un paysage d'extérieur ? Là encore, utilisez un autre gestionnaire de scène. Le reste du moteur continue à fonctionner exactement comme avant.
En bref, si vous privilégiez la qualité de la conception, la flexibilité et une documentation claire, choisissez OGRE. Vous savez que cela a du sens. 😉
Est-ce vraiment gratuit ?
Le source Ogre est disponible sous la licence MIT, ce qui signifie que vous pouvez l'utiliser comme vous le souhaitez à condition d'inclure le contenu de notre fichier COPYING quelque part dans votre application. Le source de votre application, ou vos modifications d'Ogre n'ont pas à être publiés (bien que ce serait bien si vous le faisiez). Consultez la page des licences pour connaître les conditions de licence complètes.
Ogre est un moteur de rendu graphique 3D. À ne pas confondre avec un moteur de jeu qui fournit des informations sur le réseau, le son, la physique, etc.
Ogre 2.2 a fait l'objet d'une refonte importante pour se concentrer sur des graphiques de haute performance utilisant la conception orientée données avec :
• une disposition des entités et des nœuds adaptée au cache
• Traitement par lots des nœuds, Frustum Culling et autres techniques telles que Forward Clustered
• Traitement SIMD utilisant la disposition de la mémoire AoSoA (Array of Structures of Arrays)
• Texture chargée via la diffusion en arrière-plan
Ogre convient donc aux projets qui visent à avoir un grand nombre d'objets à l'écran ou qui ont des budgets de rendu serrés, comme la Réalité Virtuelle.
OGRE n'est pas un, mais deux projets "frères". Ils sont liés, mais ils ne sont pas identiques • comme s'ils n'étaient pas compatibles entre eux. Vous risquez de ne pas savoir quelle version choisir. Les informations ci-dessous vous aideront à trouver la version qui correspond à vos besoins :
Ogre1
• Vous avez besoin de plugins/composants principaux et externes (CEGUI, ParticleUniverse, Terrain, Volume, etc.)
• Vous voulez programmer en Python/ C#/ Java
• Vous ciblez les plateformes mobiles (Android, iOS, WebGL, Windows UWP)
• Vous n'avez besoin que d'un nombre modéré (de l'ordre de 1000) d'objets par image
• Vous voulez utiliser un code vérifié (comme dans les tests unitaires)
• Vous aimez apprendre à partir des extraits de code Wiki et de nombreuses ressources existantes trouvées en ligne.
• Vous êtes déjà habitué à Ogre ou vous disposez d'une base de code existante de longue date.
• Vous avez besoin d'un large support matériel, y compris DX9 et OpenGL 1.5.
Ogre Next
• Vous avez besoin de nombreux objets (de l'ordre de 10 000) par image.
• Vous voulez l'énorme gain de performance dans le cas d'utilisation ci-dessus. Votre cible principale est Windows et/ou Linux pour l'instant.
• Vous aimez les performances de pointe.
• Vous connaissez déjà Ogre ou vous pouvez apprendre l'API à partir du code source car la documentation est encore rare
• Vous n'avez pas besoin des plugins/composants principaux et externes qui n'ont pas encore été portés (comme CEGUI, ParticleUniverse, Terrain Component, Volume Component, etc). Consultez le Forum 2.0+ car certains de ces plugins, comme ParticleUniverse, ont été portés par des membres de la communauté.
• Vous ne vous souciez pas du support d'Android (ou de tout ce qui est plus ancien que l'iPhone 5S) pour l'instant et vous pouvez attendre.
🍥️ Debian:
Moteur de rendu graphique orienté objet 3D — fichiers de développement
OGRE (« Object-Oriented Graphics Rendering Engine ») est un moteur 3D orienté scène, flexible, écrit en C++ et conçu pour faciliter le développement d'applications qui utilisent des graphiques 3D accélérés matériellement. La bibliothèque de classe abstrait tous les détails dans l'utilisation des bibliothèques systèmes sous-jacentes comme Direct3D ou OpenGL. Elle fournit en outre une interface basée sur des objets du monde et d'autres classes intuitives.
🌍️ Wikipedia :
OGRE (Object-Oriented Graphics Rendering Engine) est un moteur 3D libre multi-plateforme (Linux, Win32, OS X, iOS, Android et Windows Phone 8) orienté scène qui permet à partir d'objets à facettes de réaliser un environnement tridimensionnel qui sera perçu par un rendu bidimensionnel au travers d'une ou plusieurs caméra virtuelle.
OGRE est une couche d'abstraction supplémentaire au-dessus des API Direct3D et OpenGL, qui permet l'utilisation des cartes accélératrices 3D (OGRE ne fournit pas de moteur de rendu 3D logiciel, il faut une carte 3D ou un émulateur de cartes 3D).
Jusqu'à la version 1.6 incluse, il est distribué selon les termes de la licence GNU LGPL. À partir de la version 1.7, Ogre est distribué sous licence MIT.
En novembre 2018, les développeurs annoncent qu'ils sont en train de porter le moteur sur l'API Vulkan.
Programmer avec OGRE
OGRE est écrit en C++, orienté objet, avec des motifs de conceptions, une documentation complète, l'objectif principal (notamment lors des arbitrages d'évolution du code) étant la lisibilité et la maintenance du code avant tout, pour que l'utilisateur puisse profiter de toute la flexibilité du moteur 3D.
Il peut être utilisé depuis d'autres langages : C#, Python, Java, Lua, Ruby, Eiffel…
OGRE veut simplifier la création de programmes 3D temps réel, par rapport à accéder directement aux API 3D, notamment en fournissant des interfaces de haut niveau pour l'animation de personnages, d'effets de traitement plein-écran (bloom, HDR, etc.), des scripts pour les particules, les matériaux.
Extensions fournies par la communauté
À cela s'ajoute une communauté qui fournit des extensions permettant l'intégration de moteurs physiques, d'effets spéciaux, de gestionnaires de scènes plus avancés ainsi que des codes source utilisables (lecteur vidéo, intégration de webcam, réalité augmentée, son 3D, météo, particules, forêt, etc.).
Moteurs physiques
• NxOgre (PhysX)
• OgreBullet (Bullet)
• OgreODE (Open Dynamics Engine)
• OgreNewt (Newton Game Dynamics)
Effets spéciaux
• Caelum ;
• FXplugin ;
• Calle ciner.
Gestionnaires de scène
• PagingLandscapeManager ;
• CHCOctree ;
• DotSceneManager ;
• Ofusion.
Sons
• OgreAl(OpenAL)
Vegetation
• PagedGeometry