Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

By default we calculate lighting per-fragment (i.e. we use Phong shading, regardless of lighting equation - Phong or physical (PBR)). This is prettier and works fast on modern systems.

However, you can request to calculate lighting per-vertex (i.e. to get more old-school Gouraud shading). This is generally uglier but more performant. To use this, toggle the `PhongShading` property inside `RenderOptions` of relevant TCastleScene to `false`. See our manual, in particular https://castle-engine.io/viewport_and_scenes , for a documentation what is TCastleScene and how to configure its properties. Note that some effects (like shadow maps or bump mapping) just cannot be realized with this Gouraud shading, so you will have to refrain from using them.

NICE!!! i always wanted to make PS2-like games cuz i love PS2 graphics, although i do wanna make my own engine with C++ and OpenGL, this is a good start to get a taste of the graphics

btw i've been experimenting with OpenGL and i wanted to make a game engine without editor and i wanted to add model importing using assimp but for the love of me i couldn't get it to link with my project, do you have any advice to help me or maybe a suggestion for a different library for model importing?

1. As for linking with assimp: I'd need more details to help with this.

   You should get a regular dynamic library by compiling libassimp, with which you can link as usual. You can find many examples e.g. in CGE (we link to libraries like OpenAL, FMOD, VorbisFile, LibPng) or FPC how one can link to dynamic or static libraries.

   Note: This topic can easily get longer :), so it may make sense to move the talk to our forum ( https://forum.castle-engine.io/ ).   

2. As for other libraries:

    Well, Castle Game Engine could actually be used as a model-reading library :) One can use just `LoadNode` routine from `X3DLoad` unit to load all supported model formats ( https://castle-engine.io/creating_data_model_formats.php ). And then convert the resulting graph of nodes to whatever you need.