3D Procedural Terrain Generation Tool in OpenGL/C++

Overview


GitHub repo size Lines of code GitHub commit activity
GitHub all releases SourceForge GitHub



TerraGen3D

3D Procedural Terrain Generation Tool in OpenGL/C++

Showcase1

Tweet: Check out TerraGen3D Free and Open Source Procedural Modelling and Texturing Software : https://github.com/Jaysmito101/TerraGen3D

Give your valuable feedback : https://github.com/Jaysmito101/TerraGen3D/discussions/6

Tutorials : Youtube

Join the Discord Server : https://discord.gg/AcgRafSfyB

TerraGen3D - 3D Procedural Node Based Terrain Generation Tool | Product Hunt

What can this do?

  • Generte 3D Terrain Procedrally
  • Export Terrain mesh as OBJ
  • You can write and test your own shaders
  • An Inbuilt IDE for shaders
  • Test under different lighting
  • A 3D viewer
  • A Node based as well as Layer based workflow
  • Save the project(custom .terr3d files)
  • Hieght map visualizer in node editor
  • Wireframe mode
  • Custom Lighiting
  • Customizable Geometry Shaders included in rendering pipeline
  • Skyboxes
  • Multithreded Mesh Generation
  • Lua scripting to add custom algotrithms
  • Export to heightmaps(both PNG and also custom format)
  • Custom Skyboxes
  • Completely usable 3D procedural modelling and texturing pipeline

Future Goals

  • Procedural grass and foliage
  • Fix more bugs!

Screenshots

Screenshot 1

Screenshot 2

Screenshot 3

Support

I am just a Highschool student so I may not have the best quality of code but still i am trying my best to write good code!

Any support would be highly appretiated!

For example you could add a feature and contribute via pull requests or you could even report any issues with the program!

And the best thing you could do to support this project is spread word about this so that more people who might be interested in this may use this!

Please considering tweeting about this!

Tweet: Check out TerraGen3D Free and Open Source Procedural Modelling and Texturing Software : https://github.com/Jaysmito101/TerraGen3D

Give your valuable feedback : https://github.com/Jaysmito101/TerraGen3D/discussions/6

Tutorials : Youtube

Join the Discord Server : https://discord.gg/AcgRafSfyB

TerraGen3D - 3D Procedural Node Based Terrain Generation Tool | Product Hunt

Comments
  • The application only works with the debug version of the c library and not the release version!

    The application only works with the debug version of the c library and not the release version!

    The application only works with the debug version of the c library and not the release version!

    To Reproduce Steps to reproduce the behavior:

    1. Switch to release mode
    2. In the compioer options switch from /MTd to /MT
    3. Build the app
    4. On runni g you see that the mesh is not be9ng rendered

    Expected behavior Should run just same as when compiped in debug mode.

    bug help wanted severe fixed 
    opened by Jaysmito101 8
  • Fixed Bug Crash

    Fixed Bug Crash

    I have changed the original if statement from a 2 integer to an INFINITY integer. I also created a nodeCounter in case that is something you would like to keep track of.

    opened by QDaily117 2
  • Documentation Needed

    Documentation Needed

    We need a documentation for this project. For this I am opening this Issue. Incase anyone is interested in helping you are welcome! Also if you need any help you can contact directly via : https://discord.gg/gJjvDHFpSh

    documentation help wanted good first issue 
    opened by Jaysmito101 2
  • Python syntax error in Setup.bat

    Python syntax error in Setup.bat

    When running scripts/Setup.bat I am getting the following python error:

    Traceback (most recent call last): File "Setup.py", line 6, in import Utils File "D:\Programming\TerraForge3D\scripts\Utils.py", line 27 print(f"URL Error encountered: {e.reason}. Proceeding with backup...\n\n") ^ SyntaxError: invalid syntax

    What version of python is needed? I am running 2.7.5 and I don't see in the docs what version is expected.

    question fixed 
    opened by SirKnightTG 1
  • Add heightmap node

    Add heightmap node

    Hi, while playing around with CPU node editor, I found the texture node didn't work well for heightmaps. The smoothness gets worse extremely quickly as the mesh resolution increases. I created a node for properly dealing with and interpolating 16-bit heightmap images.

    Because I use Linux, I had to try fixing the file selection dialog first.

    Comparison with Texture node

    Here's a quick comparison. The Heightmap node was tested with a 4096 mesh resolution, which seems to be when more precision would be needed. The Texture node was unusable at only 1024.

    comparison

    enhancement 
    opened by malpas 1
  • Linux fix paths

    Linux fix paths

    PR to the #31 I've renamed PATH_SEPERATOR by PATH_SEPARATOR as it is the correct spelling. Then, I've replaced every \\, where it is not windows only, by PATH_SEPARATOR including Platform.h where it was missing.

    Hope nothing breaks :sweat_smile:

    fixed bugfix 
    opened by fiplox 1
  • [ImgBot] Optimize images

    [ImgBot] Optimize images

    Beep boop. Your images are optimized!

    Your image file size has been reduced by 19% 🎉

    Details

    | File | Before | After | Percent reduction | |:--|:--|:--|:--| | /TerraForge3D/vendor/imnodes/img/imnodes.gif | 1,481.72kb | 294.72kb | 80.11% | | /Screenshots/Showcase/HeightMap1.png | 366.59kb | 135.12kb | 63.14% | | /Binaries/Data/textures/ui_thumbs/cube.png | 9.72kb | 4.34kb | 55.38% | | /Binaries/Data/textures/ui_thumbs/cone.png | 7.31kb | 3.54kb | 51.61% | | /Binaries/Data/textures/ui_thumbs/sphere.png | 9.99kb | 5.61kb | 43.86% | | /Binaries/Data/textures/ui_thumbs/torus.png | 20.59kb | 12.11kb | 41.19% | | /Binaries/Data/textures/ui_thumbs/cylinder.png | 4.29kb | 2.76kb | 35.66% | | /TerraForge3D/vendor/zip/zip.png | 5.15kb | 3.50kb | 32.11% | | /Screenshots/Showcase/Volcano.png | 2,616.80kb | 1,834.77kb | 29.88% | | /resources/icons-png-secondary/icon-7.png | 11.80kb | 8.80kb | 25.42% | | /Screenshots/Showcase/Desert Night.png | 435.51kb | 329.57kb | 24.33% | | /resources/icons-png-secondary/icon-5.png | 5.17kb | 3.95kb | 23.57% | | /resources/icons-png-secondary/icon-6.png | 8.27kb | 6.34kb | 23.34% | | /resources/icons-png-secondary/icon-8.png | 21.06kb | 16.51kb | 21.61% | | /Screenshots/UI/Screenshot (481).png | 352.78kb | 277.46kb | 21.35% | | /resources/icons-png/icon-7.png | 5.95kb | 4.68kb | 21.28% | | /resources/icons-png/icon-8.png | 9.79kb | 7.78kb | 20.45% | | /Screenshots/UI/CB.png | 479.71kb | 382.30kb | 20.31% | | /resources/icons-png/icon-9.png | 12.33kb | 9.85kb | 20.13% | | /resources/icons-png-secondary/icon-4.png | 3.62kb | 2.90kb | 19.91% | | /Screenshots/Showcase/Grassy Hillock.png | 642.65kb | 516.69kb | 19.60% | | /Screenshots/Showcase/Muddy Forest.png | 6,210.30kb | 5,005.30kb | 19.40% | | /resources/icons-png/icon-6.png | 4.06kb | 3.27kb | 19.31% | | /Screenshots/UI/Screenshot (482).png | 726.03kb | 588.44kb | 18.95% | | /Binaries/Data/textures/ui_thumbs/plane.png | 12.45kb | 10.13kb | 18.59% | | /Screenshots/UI/Screenshot (483).png | 423.43kb | 347.25kb | 17.99% | | /Screenshots/UI/Screenshot (484).png | 246.92kb | 202.85kb | 17.85% | | /Screenshots/Showcase/Sandy Desert 1.png | 3,539.60kb | 2,956.14kb | 16.48% | | /Screenshots/UI/Screenshot (485).png | 645.36kb | 539.27kb | 16.44% | | /Screenshots/UI/Screenshot (486).png | 645.36kb | 539.27kb | 16.44% | | /Screenshots/Showcase/Sandy Desert 2.png | 3,437.91kb | 2,885.90kb | 16.06% | | /resources/icons-png-secondary/icon-3.png | 2.26kb | 1.92kb | 15.11% | | /Screenshots/UI/NEFE.png | 673.23kb | 572.78kb | 14.92% | | /Screenshots/UI/Screenshot (493).png | 601.14kb | 513.61kb | 14.56% | | /Screenshots/UI/Screenshot (495).png | 552.94kb | 473.35kb | 14.39% | | /Screenshots/UI/Screenshot (494).png | 575.79kb | 493.37kb | 14.31% | | /Screenshots/UI/Screenshot (491).png | 476.63kb | 408.52kb | 14.29% | | /Screenshots/UI/NE.png | 562.55kb | 483.85kb | 13.99% | | /resources/icons-png-secondary/icon-9.png | 26.83kb | 23.08kb | 13.99% | | /Screenshots/UI/Screenshot (505).png | 507.44kb | 441.25kb | 13.04% | | /Screenshots/UI/Screenshot (507).png | 450.30kb | 392.92kb | 12.74% | | /Screenshots/UI/Screenshot (490).png | 357.04kb | 312.59kb | 12.45% | | /Screenshots/UI/Screenshot (492).png | 557.14kb | 490.68kb | 11.93% | | /Screenshots/UI/Screenshot (480).png | 616.42kb | 545.03kb | 11.58% | | /Screenshots/UI/Screenshot (504).png | 576.16kb | 511.00kb | 11.31% | | /resources/icons-png-secondary/icon-2.png | 1.61kb | 1.43kb | 11.21% | | /TerraForge3D/vendor/glfw/docs/spaces.svg | 107.67kb | 96.72kb | 10.17% | | /Screenshots/UI/Screenshot (503).png | 586.88kb | 527.25kb | 10.16% | | /Screenshots/UI/Screenshot (502).png | 572.66kb | 514.49kb | 10.16% | | /Screenshots/UI/Screenshot (500).png | 398.44kb | 362.88kb | 8.93% | | /Screenshots/UI/Screenshot (496).png | 381.57kb | 348.68kb | 8.62% | | /resources/icons-materials/diamond icon-9.png | 49.55kb | 45.65kb | 7.87% | | /Screenshots/UI/VC.png | 483.22kb | 445.45kb | 7.82% | | /Screenshots/UI/Screenshot (497).png | 375.93kb | 349.06kb | 7.15% | | /Screenshots/UI/Screenshot (501).png | 271.94kb | 254.87kb | 6.28% | | /Screenshots/UI/Screenshot (498).png | 466.45kb | 442.23kb | 5.19% | | /resources/icons-materials/bronze icon-9.png | 34.42kb | 32.71kb | 4.96% | | /Screenshots/UI/Screenshot (499).png | 463.93kb | 441.37kb | 4.86% | | /Screenshots/UI/Screenshot (506).png | 303.66kb | 290.45kb | 4.35% | | /Screenshots/UI/Screenshot (508).png | 234.18kb | 224.20kb | 4.26% | | /Screenshots/UI/Screenshot (489).png | 376.87kb | 362.86kb | 3.72% | | /resources/icons-materials/platinum icon-9.png | 29.55kb | 28.48kb | 3.62% | | /Screenshots/Showcase/Asteroid.png | 152.02kb | 146.62kb | 3.55% | | /Screenshots/UI/QB.png | 269.28kb | 263.33kb | 2.21% | | /resources/icons-materials/gold icon-9.png | 34.84kb | 34.08kb | 2.16% | | /Binaries/Data/textures/water_dudv.png | 252.30kb | 249.16kb | 1.25% | | /Screenshots/UI/Screenshot (488).png | 355.43kb | 351.24kb | 1.18% | | /Screenshots/UI/Screenshot (487).png | 355.43kb | 351.24kb | 1.18% | | /resources/icons-png/icon-3.png | 1.52kb | 1.52kb | 0.19% | | /resources/ReadmeHeader.png | 97.65kb | 97.50kb | 0.14% | | /resources/icons-png/icon-4.png | 2.00kb | 2.00kb | 0.10% | | /resources/icons-png/icon-5.png | 2.50kb | 2.49kb | 0.08% | | | | | | | Total : | 35,599.55kb | 28,873.02kb | 18.89% |


    📝 docs | :octocat: repo | 🙋🏾 issues | 🏪 marketplace

    ~Imgbot - Part of Optimole family

    opened by imgbot[bot] 0
  • Add a Gitter chat badge to README.md

    Add a Gitter chat badge to README.md

    Jaysmito101/TerraGen3D now has a Chat Room on Gitter

    @Jaysmito101 has just created a chat room. You can visit it here: https://gitter.im/TerraGen3D/community.

    This pull-request adds this badge to your README.md:

    Gitter

    If my aim is a little off, please let me know.

    Happy chatting.

    PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

    opened by gitter-badger 0
  • Assertion Failure on Windows 8.1 - Will not run.

    Assertion Failure on Windows 8.1 - Will not run.

    Assertion Failure Screenshot (106)

    To Reproduce Steps to reproduce the behavior:

    1. Launch TerraForge3D.exe
    2. Within seconds Assertion error occurs

    Expected behavior Expected it to run as on Linux.

    Screenshots See above

    Desktop (please complete the following information):

    • OS: Windows 8.1
    bug help wanted 
    opened by true2thepen 1
  • Use higher bit-depth for texture baking

    Use higher bit-depth for texture baking

    Texture baking currently only exports an image with 8 bit depth. This causes noticeable stepping, because there are only 256 possible values to use. Supporting a 16 bit-depth is important for using the terrain with any other tool.

    Example

    When you take the texture baking output of this terrain: example

    And try to use it in something like Blender, you get this:

    example-blender

    It's also flipped for some reason (ExportTexture.cpp:23).

    Heightmap: height

    enhancement work in progress 
    opened by malpas 2
  • Please make AppImage package for Linux

    Please make AppImage package for Linux

    not running in Ubuntu 18.04 LTS

    ./TerraForge3D: /lib/x86_64-linux-gnu/libm.so.6: version GLIBC_2.29' not found (required by ./TerraForge3D) ./TerraForge3D: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: versionGLIBCXX_3.4.26' not found (required by ./TerraForge3D)

    i have libstdc++6, 8.4.0-1ubuntu1~18.04 installed Ubuntu 18.04 LTS libc6 is 2.27-3ubuntu1.5

    Cn you release AppImage packages?

    bug 
    opened by lahtis 3
  • MacOS support

    MacOS support

    Describe the solution you'd like I'd like to see support for the mac by terraforge, because of the recent linux support when that becomes stable it shouldn't be a big problem adding macOS support. If needed, I can build terraforge for mac on my mac every time you want a new release! I would help with the code itself but I'm not familiar with the codebase and I'm relatively busy with exams and ongoing projects however, let me know if there's a small task I can help with on the repo! I'm sure that apple silicon will only get more relevant and powerful into the future based off the amazing performance of the new M1 chips.

    Describe alternatives you've considered I've already tried running terraforge in asahi and a vm, but it's terribly slow and gets me out of my workflow

    enhancement help wanted work in progress 
    opened by CMDR-Piboy314 2
  • Request for Nord Theme

    Request for Nord Theme

    This is something i need help with. It is to add a nord theme to terraforge3d! You can jse the theme editor to customize ui and styling ans save it as a normal savefile. Or you can also directly write the imgui code .

    enhancement help wanted good first issue 
    opened by Jaysmito101 0
  • Commenting the code

    Commenting the code

    This is a simple issue i would like to open for contributers to get started with TerraFoebe3D development. TerraForge3D uses a completely automatic documentation generation system. Now this system generates the docs based on comments. You can comment code like https://github.com/Jaysmito101/TerraForge3D/blob/master/TerraForge3D/include/Modules/Module.h .

    To get strted you can follow the developers guide to setup TerraForge3D for development https://jaysmito101.github.io/TerraForge3D/documentation/d5/d38/md__docs_markdowns_index.html also for any help feel free to contact me at https://discord.gg/9ebyYwSktZ

    documentation enhancement help wanted good first issue 
    opened by Jaysmito101 0
Releases(v2.3)
  • v2.3(Mar 29, 2022)

    What's New?

    Shader Node Editor

    A blender like node editor for shaders.

    Texture Baker

    A new and advanced way for baking and exporting Textures.

    Added Linux Support

    Now TerraForge3D is supported natively on linux. ⚠️ Linux Version is in Alpha

    PBR Renderer

    Now TerraForge3D has a Physically Based Renderer for high quality preview

    New Modules API

    Now you can extend TerraForge3D however you want and write custom plugins using the powerful TerraForge3D SDK.

    Refactored Codebase

    Not a big thing from users point of view but for anyone wanting to develop TerraForge3D its a huge deal. The codebase has been massively cleaned up.

    There has been several small fixes and additions which are not mentioned here.

    Some Relevant PRs

    • Change directories in includes to lowercase by @lunaboards-dev in https://github.com/Jaysmito101/TerraForge3D/pull/26
    • Fix pixel alignment kept at default when loading textures from STBI by @ltjax in https://github.com/Jaysmito101/TerraForge3D/pull/27
    • Fix uniform IDs not being initialized by @ltjax in https://github.com/Jaysmito101/TerraForge3D/pull/28
    • Added Doxygen Support by @Jaysmito101 in https://github.com/Jaysmito101/TerraForge3D/pull/29
    • Linux build fixes. by @MalikuMane in https://github.com/Jaysmito101/TerraForge3D/pull/30
    • Linux fix paths by @fiplox in https://github.com/Jaysmito101/TerraForge3D/pull/32

    New Contributors

    • @lunaboards-dev made their first contribution in https://github.com/Jaysmito101/TerraForge3D/pull/26
    • @ltjax made their first contribution in https://github.com/Jaysmito101/TerraForge3D/pull/27
    • @MalikuMane made their first contribution in https://github.com/Jaysmito101/TerraForge3D/pull/30
    • @fiplox made their first contribution in https://github.com/Jaysmito101/TerraForge3D/pull/32

    Full Changelog: https://github.com/Jaysmito101/TerraForge3D/compare/v2.2...v2.3

    Source code(tar.gz)
    Source code(zip)
    TerraForge3D.Linux.tar.gz(16.78 MB)
    TerraForge3D.SDK.Linux.tar.gz(47.70 MB)
    TerraForge3D.SDK.Win64.zip(74.14 MB)
    TerraForge3D.Win64.zip(39.67 MB)
  • v2.2(Feb 18, 2022)

    Features

    TerraForge3D has got a series of features. Listing all of them is a very difficult task. Here are some of the major features.

    GPU Powered Terrain Generation

    TerraForge3D utilizes the power of your GPU to generate the terrains blazing fast. TerraForge3D utilizes OpenCL 2.0 to use your GPU. With GPU mesh generation you can work with extremely huge meshs in realtime.

    CPU Powered Terrain Generation

    There are somethings which cannot possible be done on a GPU as efficiently(like the node editor) so you can optionally mix GPU generation with CPU generation to get more control. Also if you GPU doesnt support OpenCL 2.0 you can still use the CPU mesh Generation. Also TerraForge's CPU Mesh Generation algorithms are made keeping efficiency and speed in mind thus they are extremely fast.

    No Limit on Resolution

    Most terrain generation applications limit you to a certain maximum resolution or only certain resolutions like (128, 256, ...) but not TerraForge3D! TerraForge3D Allows you to work with any resolution you can imagine of.

    Advanced Node Editor

    TerraForge3D has a very advanced Node Editor with 40+ different nodes which let you completely control how the terrain is generated. You can even use mathematical functions to shape your terrain!

    Physically Based Erosion

    TerraForge3D has several erosion algorithms(hydraulic, wind, ...) which lets you simulate the simulation on you procedurally generated terrains giving it an extra touch of realism. These algorithms simulate actual rain, wind, dust to give the best effect.

    Custom Shape Generation

    Procedural is great! But sometimes there must be a human touch! Thus TerraForge3D lets you customize your terrain by pmanyally placing terrrain features like hills, caters, cliffs, etc and combine it with procedural terrain.

    Custom Sky

    TerraForge3D allows you to completely customize the sky. You can use a sky box, sky dome. You can procedurally generate a sky or use a HDRI.

    Sea Level Visualization

    TerraForge3D also lets you visualize a sea to give you a idea of the sea level.

    Custom Shaders

    TerraForge3D allows you to have a custom shader(in GLSL). TerraForge3D also provides a inbuilt editor for writing your shaders!

    Texture Store & Texture Settings

    TerraForge3D gives you a huge collection of textures to download and use free of cost! Also TerraForge3D's texture settings give you fine control over how the mesh is textured.

    Universal

    TerraForge3D can export to a whole lot of 3D file formats like OBJ, GLTF, GLB, STL, ... . Also you can export heightmaps as PNG, JPG, ... . This makes TerraForge3D totally compitable with any program you can think of! Be it Blender, Unreal Engine, Uniy, Maya, anything.

    Source code(tar.gz)
    Source code(zip)
    LICENSE.md(1.09 KB)
    TerraForge3D.Win64.zip(39.46 MB)
  • v_08(Nov 11, 2021)

    ⚠️ SOME OF PRIOR VERSIONS HAVE STOPPED WORKING DUE TO REBRANDING TO TerraForge3D

    What can this do?

    • Anything you can think of for a terrain generation application!
    • Tribute to all who Starred or Contributed to the project
    • Procedural Texturing
    • Realistic Hydraulic Erosion Simulation (CPU & GPU modes)
    • Use custom HDRI Skyboxes
    • Water with reflections, ripples, waves.
    • OpenCL Support
    • Compute Shaders
    • Infinite First Person Terrain Explorer
    • Maze Generator using Binary Tree Algorithm
    • Generate 3D Terrain Procedurally
    • First Person Terrain Explorer
    • An Highly abstracted API for OpenGL which can be reused by other projects
    • Foliage and custom model importer and renderer
    • Pack Projects into completely portable .terr3dpack files
    • A Texture Store Powered By PolyHaven
    • Export Terrain mesh as OBJ
    • Easy and User friendly UI
    • Autosave and backup projects
    • Caching system
    • Asset Management
    • You can write and test your own shaders
    • An Inbuilt IDE for shaders
    • Test under different lighting
    • A proper 3D viewer
    • Sea with waves and custom color
    • Video Tutorials(Youtube)
    • A Node based as well as Layer based workflow
    • Save the project(custom .terr3d files)
    • Height map visualizer in node editor
    • Wireframe mode
    • Custom Lighting
    • Customizable Geometry Shaders included in rendering pipeline
    • Skyboxes
    • Multithreaded Mesh Generation
    • Lua scripting to add custom algorithms
    • Export to heightmaps(both PNG and also custom format)
    • Custom Skyboxes
    • Completely usable 3D procedural modelling and texturing pipeline
    Source code(tar.gz)
    Source code(zip)
    License.zip(24.41 KB)
    TerraForge3D.Win32.zip(29.33 MB)
  • v_07(Nov 11, 2021)

    ⚠️ SOME OF PRIOR VERSIONS HAVE STOPPED WORKING DUE TO REBRANDING TO TerraForge3D

    What can this do?

    • Anything you can think of for a terrain generation application!
    • Tribute to all who Starred or Contributed to the project
    • Procedural Texturing
    • Realistic Hydraulic Erosion Simulation (CPU & GPU modes)
    • Use custom HDRI Skyboxes
    • Water with reflections, ripples, waves.
    • OpenCL Support
    • Compute Shaders
    • Infinite First Person Terrain Explorer
    • Maze Generator using Binary Tree Algorithm
    • Generate 3D Terrain Procedurally
    • First Person Terrain Explorer
    • An Highly abstracted API for OpenGL which can be reused by other projects
    • Foliage and custom model importer and renderer
    • Pack Projects into completely portable .terr3dpack files
    • A Texture Store Powered By PolyHaven
    • Export Terrain mesh as OBJ
    • Easy and User friendly UI
    • Autosave and backup projects
    • Caching system
    • Asset Management
    • You can write and test your own shaders
    • An Inbuilt IDE for shaders
    • Test under different lighting
    • A proper 3D viewer
    • Sea with waves and custom color
    • Video Tutorials(Youtube)
    • A Node based as well as Layer based workflow
    • Save the project(custom .terr3d files)
    • Height map visualizer in node editor
    • Wireframe mode
    • Custom Lighting
    • Customizable Geometry Shaders included in rendering pipeline
    • Skyboxes
    • Multithreaded Mesh Generation
    • Lua scripting to add custom algorithms
    • Export to heightmaps(both PNG and also custom format)
    • Custom Skyboxes
    • Completely usable 3D procedural modelling and texturing pipeline
    Source code(tar.gz)
    Source code(zip)
    LICENSE.zip(24.13 KB)
    TerraForge3D.Win32.zip(8.65 MB)
  • v_06(Oct 31, 2021)

    What can this do?

    • Anything you can think of for a terrain generation application!
    • Tribute to all who Starred or Contributed to the project
    • Procedural Texturing
    • Realistic Hydraulic Erosion Simulation (CPU & GPU modes)
    • Use custom HDRI Skyboxes
    • Water with reflections, ripples, waves.
    • OpenCL Support
    • Compute Shaders
    • Infinite First Person Terrain Explorer
    • Maze Generator using Binary Tree Algorithm
    • Generate 3D Terrain Procedurally
    • First Person Terrain Explorer
    • An Highly abstracted API for OpenGL which can be reused by other projects
    • Foliage and custom model importer and renderer
    • Pack Projects into completely portable .terr3dpack files
    • A Texture Store Powered By PolyHaven
    • Export Terrain mesh as OBJ
    • Easy and User friendly UI
    • Autosave and backup projects
    • Caching system
    • Asset Management
    • You can write and test your own shaders
    • An Inbuilt IDE for shaders
    • Test under different lighting
    • A proper 3D viewer
    • Sea with waves and custom color
    • Video Tutorials(Youtube)
    • A Node based as well as Layer based workflow
    • Save the project(custom .terr3d files)
    • Height map visualizer in node editor
    • Wireframe mode
    • Custom Lighting
    • Customizable Geometry Shaders included in rendering pipeline
    • Skyboxes
    • Multithreaded Mesh Generation
    • Lua scripting to add custom algorithms
    • Export to heightmaps(both PNG and also custom format)
    • Custom Skyboxes
    • Completely usable 3D procedural modelling and texturing pipeline
    Source code(tar.gz)
    Source code(zip)
    Licenses.zip(53.05 KB)
    TerraGen3D.Win32.zip(10.80 MB)
  • v_05(Oct 22, 2021)

    What can this do?

    • Tribute to all who Starred or Contributed to the project
    • Procedural Texturing
    • Infinite First Person Terrain Explorer
    • Maze Generator using Binary Tree Algorithm
    • Generte 3D Terrain Procedrally
    • First Person Terrain Explorer
    • An Highly abstracted API for OpenGL which can be reused by other projects
    • Foliage and custom model importer and renderer
    • Pack Projects into completely portable .terr3dpack files
    • A Texture Store Powered By PolyHaven
    • Export Terrain mesh as OBJ
    • Easy and Userfriendly UI
    • Autosave and backup projects
    • Caching system
    • Asset Management
    • You can write and test your own shaders
    • An Inbuilt IDE for shaders
    • Test under different lighting
    • A proper 3D viewer
    • Sea with waves amd custom color
    • Video Tutorials(Youtube)
    • A Node based as well as Layer based workflow
    • Save the project(custom .terr3d files)
    • Hieght map visualizer in node editor
    • Wireframe mode
    • Custom Lighiting
    • Customizable Geometry Shaders included in rendering pipeline
    • Skyboxes
    • Multithreded Mesh Generation
    • Lua scripting to add custom algotrithms
    • Export to heightmaps(both PNG and also custom format)
    • Custom Skyboxes
    • Completely usable 3D procedural modelling and texturing pipeline
    Source code(tar.gz)
    Source code(zip)
    Demo.Savefiles.zip(73.68 KB)
    LICENSE.md(6.95 KB)
    ShowCase4.gif(20.03 MB)
    TerraGen3D.Win32.zip(13.50 MB)
  • v_04.1(Oct 17, 2021)

    What can this do?

    • Tribute to all who starred or contributed to the project
    • Generate 3D Terrain Procedurally
    • An Highly abstracted API for OpenGL which can be reused by other projects
    • Foliage and custom model importer and renderer
    • Pack Projects into completely portable .terr3dpack files
    • A Texture Store Powered By PolyHaven
    • Export Terrain mesh as OBJ
    • Easy and User-friendly UI
    • Autosave and backup projects
    • Caching system
    • Asset Management
    • You can write and test your own shaders
    • An Inbuilt IDE for shaders
    • Test under different lighting
    • A proper 3D viewer
    • Sea with waves and custom color
    • Video Tutorials(Youtube)
    • A Node based as well as Layer based workflow
    • Save the project(custom .terr3d files)
    • Height map visualizer in node editor
    • Wireframe mode
    • Custom Lighting
    • Customizable Geometry Shaders included in rendering pipeline
    • Skyboxes
    • Multithreaded Mesh Generation
    • Lua scripting to add custom algorithms
    • Export to heightmaps(both PNG and also custom format)
    • Custom Skyboxes
    • Completely usable 3D procedural modelling and texturing pipeline
    Source code(tar.gz)
    Source code(zip)
    Demo.Savefiles.zip(41.29 MB)
    Extra.Shaders.zip(5.49 KB)
    LICENSE.md(7.07 KB)
    TerraGen3D.Win32.zip(13.48 MB)
  • v_04(Oct 14, 2021)

    What can this do?

    • Tribute to all who starred or contributed to the project
    • Generte 3D Terrain Procedrally
    • An Highly abstracted API for OpenGL which can be reused by other projects
    • Foliage and custom model importer and renderer
    • Pack Projects into completely portable .terr3dpack files
    • A Texture Store Powered By PolyHaven
    • Export Terrain mesh as OBJ
    • Easy and Userfriendly UI
    • Autosave and backup projects
    • Caching system
    • Asset Management
    • You can write and test your own shaders
    • An Inbuilt IDE for shaders
    • Test under different lighting
    • A proper 3D viewer
    • Sea with waves amd custom color
    • Video Tutorials(Youtube)
    • A Node based as well as Layer based workflow
    • Save the project(custom .terr3d files)
    • Hieght map visualizer in node editor
    • Wireframe mode
    • Custom Lighiting
    • Customizable Geometry Shaders included in rendering pipeline
    • Skyboxes
    • Multithreded Mesh Generation
    • Lua scripting to add custom algotrithms
    • Export to heightmaps(both PNG and also custom format)
    • Custom Skyboxes
    • Completely usable 3D procedural modelling and texturing pipeline
    Source code(tar.gz)
    Source code(zip)
    Data.zip(4.85 MB)
    Demo.Savefiles.zip(41.29 MB)
    ShowCase2.gif(27.76 MB)
    TerraGen3D.Win32.zip(12.66 MB)
  • v_03(Sep 30, 2021)

    What can this do?

    • Generte 3D Terrain Procedrally
    • Export Terrain mesh as OBJ
    • You can write and test your own shaders
    • An Inbuilt IDE for shaders
    • Test under different lighting
    • A 3D viewer
    • A Node based as well as Layer based workflow
    • Save the project(custom .terr3d files)
    • Hieght map visualizer in node editor
    • Wireframe mode
    • Custom Lighiting
    • Customizable Geometry Shaders included in rendering pipeline
    • Skyboxes
    • Multithreded Mesh Generation
    • Lua scripting to add custom algotrithms
    • Export to heightmaps(both PNG and also custom format)
    • Custom Skyboxes
    • Completely usable 3D procedural modelling and texturing pipeline
    Source code(tar.gz)
    Source code(zip)
    Data.zip(4.73 MB)
    Demo.Savefiles.zip(2.65 MB)
    LICENSE.md(7.07 KB)
    Screenshots.zip(1.28 MB)
    Shaders.zip(2.24 KB)
    TerraGen3D.Win32.zip(6.96 MB)
Procedural Mesh Modeling Toolkit for Unreal Engine Artists

OpenLand Mesh Procedural Mesh Modeling Toolkit for Unreal Engine Artists. Installation Get it via the marketplace ??️ For non-commercial projects, you

GameDev4K 25 Sep 3, 2022
A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input

GLFW Introduction GLFW is an Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan application development. It provides a simple, platf

GLFW 9.8k Nov 19, 2022
A legacy OpenGL simulator for OpenGL 4.4, written in C++.

the-ancient-tri A legacy OpenGL simulator for OpenGL 4.4, written in C++. Why? My Uni forces us to use legacy OpenGL (eww!), and I didn't want to lear

Mohammad Issawi 4 Feb 10, 2022
This repository accompanies Ray Tracing Gems II: Next Generation Rendering with DXR, Vulkan, and OptiX

Apress Source Code This repository accompanies Ray Tracing Gems II: Next Generation Rendering with DXR, Vulkan, and OptiX by Adam Marrs, Peter Shirley

Apress 677 Nov 16, 2022
BRDF LUT generation for PBR Pipelines

BRDF Generator This is a simple program that generates Smith GGX BRDF lookup tables for the split sum approximation of the UE4-based PBR pipeline. The

Hector Medina-Fetterman 110 Nov 18, 2022
Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs OpenGL, Direct3D, Vulkan, and Metal

Low Level Graphics Library (LLGL) Documentation NOTE: This repository receives bug fixes only, but no major updates. Pull requests may still be accept

Lukas Hermanns 1.5k Nov 17, 2022
Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.

This project is not actively maintained. NanoVG NanoVG is small antialiased vector graphics rendering library for OpenGL. It has lean API modeled afte

Mikko Mononen 4.5k Nov 22, 2022
Epoxy is a library for handling OpenGL function pointer management for you

Epoxy is a library for handling OpenGL function pointer management for you. It hides the complexity of dlopen(), dlsym(), glXGetProcAddress(), eglGetP

Eric Anholt 574 Nov 24, 2022
3D engine from scratch (without OpenGL or any other 3D graphics library)

Simple 3d engine based on SFML library. I tried to make this engine powerful and easy to understand.

Vectozavr 62 Nov 16, 2022
RGL - 3D visualization device system for R using OpenGL

RGL - 3D visualization device system for R using OpenGL INTRODUCTION The RGL package is a visualization device system for R, using OpenGL or WebGL as

null 66 Oct 3, 2022
OpenGL Demo: Simulating Ocean Waves with FFT

OceanFFT Realistic ocean wave simulation, primarily based on J. Tessendorf's paper, using OpenGL compute shaders. Checkout the demo video here. In the

Achal Pandey 67 Nov 21, 2022
OBS Linux Vulkan/OpenGL game capture

OBS Linux Vulkan/OpenGL game capture OBS plugin for Vulkan/OpenGL game capture on Linux. Requires OBS with EGL support (currently unreleased, you need

David Rosca 266 Nov 19, 2022
NodeEditor basiced on Qt and OpenGL/CV

Vapour 基于Qt的轻量级的节点式几何建模工具与shader材质生成工具 可能加入图像处理(合成)的功能 日志: 2021-5-17: 完成背景绘制,右键菜单,节点连线,节点删除,初步拓扑排序 (细节)连线位于节点层级之下,使用lambda处理右键菜单slot,节点创建生成在鼠标位置处 2021

Cuimi 15 Aug 11, 2022
C Wavefront OBJ loader for OpenGL

OBJ GL Loader v2 Quite fast .OBJ loader written in C How to use it Put objgl2.c and objgl2.h files in Your project and include them. To put it simply:

null 9 Oct 14, 2022
Orbit is a multiplatform-focus graphical engine build on top of OpenGl, ImGui

Orbit Engine Orbit is a multiplatform-focus graphical engine build on top of OpenGl, ImGui and more... The development of the engine is documented via

Madsycode 11 Jul 3, 2021
Axel Gneiting 1.4k Nov 20, 2022
A 2d Graphing Calculator using OpenGL

glGraph A 2d Graphing Calculator using Modern OpenGL Demo glGraph.mp4 Information This has only been tested on Fedora 34, it should work on other OS's

Nathan Medros 15 Aug 25, 2022
Tetris written with C++ and OpenGL.

Tetrec This is yet another Tetris game, which is in 3D, written using C++ and OpenGL 2.1, aiming at being lightweight towards not-so-beefy computers (

Lê Duy Quang 14 Jan 17, 2022
OpenGL made easy.

SmartGL OpenGL made easy. Demo video: https://youtu.be/zDuNxg4LJ18 (sorry for low-quality recording) For an example of how my engine is used, please r

null 18 Nov 11, 2022