Advertisement

Latest OpenGL Activity

buzzelliart
April 23, 2024 06:28 PM
Day/Night cycle inside my custom OpenGL engine

Finally implemented proper day/night cycle inside my custom OpenGL render.

Now the engine can vary sun position according to hour and day of the year, and also according to the latitude, with a good approximation.

459 views
Advertisement
Calculating Normals of a Cube

Thank you for the hint. I visualized the normal vectors and saw that they all had seemingly random orientations:

I printed out the calculated normals and visualized them by hand, confirming that they are actually all correct. I then changed my focus to the matter of actually sending this data to the…

3,305 views

snoken said:
I'm curious, what does the GetEdgePoly function return for you? Not seen a function name like this before

It returns the polygon index of the given half edge, or -1 if there is no ploy and we are on the boundary.

If we are at the boundary, u and v can be still computed. But there is no su…

6,223 views
Applying rotation from animation

Hi,

I am having a weird issue when rotating my character with animation. The issue is that a position in the world is being interpreted differently depending on the direction of the character. When I do not apply the animation rotation data to it, it seems correctly identify the position -519.0f, 0.…

3,179 views

The generic solution to your problem is commonly called “root motion" (https://docs.unrealengine.com/4.27/en-US/AnimatingObjects/SkeletalMeshAnimation/RootMotion/​ , https://docs.unity3d.com/Manual/RootMotion.html).​ 

I have no experience in implementing it myself, only used it in the various e…

3,064 views

@scott8 Ah I see. This has helped me understand a lot, can't thank you enough!

3,168 views
buzzelliart
December 20, 2023 08:11 AM
OpenGL procedural terrain - volumetric clouds

Additional experiments with volumetric clouds, solved some glitches and managed to mix the clouds with the scene, using the depth of the scene to avoid to show clouds occluded by scene objects (like the terrain). For now I just used a simple 3D perlin noise for the clouds, in the future I plan to t…

2,037 views
Handling animation translation

I have not worked much with animation data, and actually i have animated it all by myself.

But i think it is common to us a root bone which represents the ground. This root bone parents the hip / pelvis, which usually is the first bone in the character hierarchy.
When animating a walking cycle, the r…

2,237 views
buzzelliart
December 12, 2023 09:18 AM
OpenGL - Displacement Mapping with Tessellation shaders - demo 02

Additional experiments with displacement mapping using OpenGL tessellation shaders. Textures from: Textures.com

1,771 views

snoken said:
When using quaternions, the skeleton looks fine except the z axis rotation. The arms go up instead of down. If I negate only Z, the arms come down as they should but they are not aligned with the torso, they are rotated back. Other than that, the skeleton looks fine and in the correct p…

5,822 views
buzzelliart
December 06, 2023 10:15 AM
OpenGL - Displacement Mapping with Tessellation shaders

More experiments with terrain rendering, trying to add finer detail using a displacement map, applied over a procedurally generated terrain.
Textures from: Textures.com and FreePBR.com

1,751 views
Skeletal animation: Rotating left and right arm gives different results

Thank you for helping me understand and providing an insightful response once again!

2,281 views
Combining translation & rotations and per-frame rotations

snoken said:
I am confused on how you are supposed to combine these matrices

The normal standard order for transformations is T.R.S. I'm unsure if BVH follows this however.

For BVH and the rotations order, it seems to be Y,X,Z: https://research.cs.wisc.edu/graphics/Courses/cs-838-1999/Jeff/BVH.html

2,515 views

Simply trying it may give a faster answer than waiting for someone to answer the question.

Try to figure out what you see as the most likely correct solution, and build it in a small scale. If it works, you're done. If it fails you learned your idea was wrong, try to figure out what is wrong, correc…

2,297 views

I feel something is wrong specifically with RotationZ, when I apply this, the arms go all weird and the behaviour changes dramatically

2,882 views
OpenGL rendering animation skeleton with cylinders

You ignore rotations.
If you rotate the upper arm, you want to rotate the lower arm, hands etc. with it.
But currently you only propagate translation to child bones: 

auto matrix = parentMatrix * Mat4::Translate(jointPos);

jointPos tells where the bone has its center of rotation, but you also need…

2,296 views
buzzelliart
November 29, 2023 08:14 AM
OpenGL procedural terrain - triplanar texture mapping + normal mapping

Just a small demo of triplanar texture mapping + normal mapping in action over a procedurally generated surface.

To better show the effect, in this simple demo I used a brick texture over a very smooth terrain (generated using small values of "persistence").

Textures from:

. FreePBR.com

. Textures.com

C…

1,892 views
Normals have weird splodges when TBN is applied

Are you visualizing the normals correctly? It looks like the black is just negative values. You should do something like this to debug normals so that they are in [0,1] range:

gl_FragColor.rgb = n*0.5 + 0.5;

The colors are also much too saturated. If rendered with correct gamma, it should be lighter …

2,576 views

Thank you for the reply and giving an helpful and insightful explanation! 

4,690 views
citarr
November 10, 2023 02:35 PM
World of Anork

Hello,
World Of Anork is now released, in it's initial release:

Word of Anork

Download:
https://gamejolt.com/games/anork/851086

1,920 views

@undefined Thanks! this fixed my issue! The camera now correctly looks down at it. The other issue I am having now is that my object seems clipped from the edges but it has nothing to do with the camera far plane since if I set it to a really high value, the issue persists 

4,579 views
buzzelliart
November 06, 2023 02:19 PM
Procedural terrain + adaptive exposure + BLOOM

Improved bloom + experiments with adaptive exposure.

Bloom is heavily inspired by the method described by Jorge Jimenez in his great slides here: http://www.iryoku.com/next-generation-post-processing-in-call-of-duty-advanced-warfare (starts from slide 144)

7,372 views

Hmm, looks like spinning in the wrong direction. First guess: My ‘direction = vec3(sin(angle), 0, -cos(angle))’ is wrong. You could do trial and error on flipping signs and swapping axis which gives 4 options to try:

direction = vec3(sin(angle), 0, -cos(angle));
direction = vec3(-sin(angle), 0, cos(…
4,799 views
buzzelliart
October 31, 2023 08:00 AM
A small walk inside my procedurally generated terrain

A small walk inside my procedurally generated terrain. Rendered in OpenGL.
The terrain was created using multiple layers of perlin noise and applying hydraulic erosion on it.

Grass and flowers are rendered using billboards and instancing.

4,622 views
buzzelliart
October 17, 2023 11:10 AM
Antares Engine Showreel
2,169 views
How were shadow textures implemented in this 3D game from the 90s?

Thanks for the ideas everyone! 

@supervga and a-light-breeze, your note was actually RIGHT on the money - “glBlendFunc(GL_DST_COLOR, GL_ZERO)" gives the exact output I see in the original game, and I don't need to pre-process the texture to calculate alpha at all. That's amazing - I'll have to …

4,496 views
LorenzoGatti
September 04, 2023 04:16 PM

Alberth said:
The code should be split in an initialization step that creates the array and fills it with values for the fields (ie what tile to paint at each spot in the level). Once initialization is done, your paint code must use the data stored in the array to paint the fields of the level.

You a…

6,233 views

Sorry for the super delayed response guys, I wasn‘t notified about your replies for some reason :(.

For the sake of completion. I found the answer on the Real-Time Collision Detection book and basically it says what @aressera said “2. Transform the AABB from local to world space…”. The book comes wi…

3,974 views
ImplodeGames
April 09, 2023 07:15 PM
Zengine - Game engine editor and Render-Scene Graph

Following up from the previous blog post about the Java engine or “Zengine” that I'm developing with my friend. I was contemplating how to go about implementing an editor build or rather multiple build types for editing and for a game. After doing some brainstorming I've figured out how to implemen…

3,497 views
ImplodeGames
April 08, 2023 02:13 PM
Zengine - A Java game engine in LWJGL using Assimp, IMGUI, and more.

So a couple of months ago, my friend and I both wanted to work on some sort of programming project together. We both work in software engineering but come from different backgrounds, I studied a BSc in Games Programming and he studied a BSc in Computer Science. Our idea was that we wanted to essent…

4,152 views
dimi309
April 07, 2023 06:41 PM
Abandoning Vulkan
About the author, or why you should care about what I do or do not do with the Vulkan API

I am a professional programmer, but I do not develop games for a living. In the past, I have brought you the fine small3d game development library, open source titles like Gloom, Avoid the Bug and Frog Remixed …

15,872 views
8Observer8
July 10, 2022 08:58 AM
A few basic changes in PyQt6 and PySide6 regarding shader-based OpenGL graphics

These changes are also true for PySide6.

1. OpenGL classes have been moved to a separate PyQt6.QtOpenGL namespace:

PyQt5:

from PyQt5.QtGui import (QOpenGLBuffer, QOpenGLShader, QOpenGLShaderProgram,
                        QOpenGLTexture)

PyQt6:

from PyQt6.QtOpenGL import (QOpenGLBuffer, QOpenGLShader, …
8,549 views
enigma_dev
May 08, 2022 02:25 PM
DevBlog 26 - Finishing The Game!




It's over, I've finally completed my from scratch game project!

The final stretch has been far from glorious.

Rather than making features, it has been nonstop bug fixing.

To reach feature complete, I started just writing down non critical bugs rather than fixing them.

But after feature complete, I star…

19,120 views
enigma_dev
April 18, 2022 12:42 AM
DevBlog 23 - Light Speed VFX, Player Slow Motion, and Asteroids



The Space Jump effect is pretty simple when looking at its individual components.

Previously I created a 3D star field for the environmental rendering.

I use the 3D locations of these stars in the effect.

When the effect starts, I start cranking up the light emitted for each star.

This is done by just …

8,872 views
enigma_dev
April 09, 2022 02:23 PM
DevBlog 22 - Tighten Up The Graphics (Adding HDR, Bloom, Normal Maps, and more) [OpenGL 3.3]



I've refactored the rendering system in my engine.

The old way of rendering was complete in SDR.  

In this update I created a separate off screen framebuffer that everything is rendered to first.

This offscreen framebuffer is a float framebuffer, and can store values outside of the normal [0,1] r…

10,258 views
enigma_dev
March 21, 2022 12:57 PM
DevBlog 19 - Campaign Screen, Level Loading, and 3D UI



A from-scratch C++ dynamic 3D animating UI system using spatial hash grid!

I've defined my game's main menu using this system.

Buttons are constructed from shared "lasers".  

That is, when we go a screen, the buttons request lasers to make up their shape.

These lasers are requested from a pool, an…

10,915 views
ReverseLogic
January 03, 2022 06:37 AM
Vivid3D - New open source 3D engine.

https://sourceforge.net/projects/vivid-3d/

Vivid is a modern C++ 3D engine using OpenGL4+.
It is written using Visual C++ 2022, and relies on several open source projects to achieve it's goal of making it easy and run to make modern games with it.

Features
  • GPU Accelerated Skeletal animations for actors…
15,081 views
Josh Klint
April 29, 2021 10:59 AM
Ultra App Kit released - framework for desktop GUI applications

Built to power a new generation of game development tools, Ultra App Kit provides an easy-to-use C++ programming SDK for creating desktop GUI applications.

Unlike other alternatives like Dear ImGui, the Ultra App Kit GUI renders in retained mode rather than immediate mode, and is specifically d…

8,337 views
small3d Tutorial

small3d is a small, cross-platform 3D game development library I have put together and have been maintaining over the past few years. This is a tutorial on creating a ball in Blender, and then writing a C++ program that loads it and moves it around on the screen, using small3d. Alternatively you ca…

88,780 views
Shaders for Beginners (with examples in OpenGL and Defold)

I had many problems with understanding shaders, but after getting a grasp - it is so easy, convenient and powerful! I present to you my twisted version of understanding this, hoping it will help other aspiring devs ?

This is my slow path from a total noob to a less-noob-ish shader programmer ? It wi…

11,579 views
mfilion
July 09, 2020 07:40 PM
Deep dive into OpenGL over DirectX layering

Earlier this year, Collabora announced a new project with Microsoft: the implementation of OpenCL & OpenGL to DirectX translation layers. Here's the latest on this work, including the steps taken to improve the performance of the OpenGL-On-D3D12 driver.

https://www.collabora.com/news-and-blog/bl…

7,238 views
mfilion
March 24, 2020 03:35 PM
Introducing OpenCL and OpenGL on DirectX

Today, Collabora is excited to announce a partnership with Microsoft to build OpenCL and OpenGL mapping layers on DirectX, in order to bring OpenCL 1.2 and OpenGL 3.3 support to all Windows and DirectX 12 enabled devices. Support for OpenGL is realised through the Mesa3D project's Gallium layer.

htt…

6,119 views
khawk
December 31, 2017 03:51 AM
NeHe OpenGL Lessons now on GameDev.net Github

We've just released all of the source code for the NeHe OpenGL lessons on our Github page at https://github.com/gamedev-net/nehe-opengl. code - 43 total platforms, configurations, and languages are included.

Now operated by GameDev.net, NeHe is located at http://nehe.gamedev.net where it has…

8,958 views
TheChubu
August 01, 2017 04:33 AM
OpenGL 4.6 Released

The Khronos™ Group, an open consortium of leading hardware and software companies, announces from the SIGGRAPH 2017 Conference the immediate public availability of the OpenGL® 4.6 specification. OpenGL 4.6 integrates the functionality of numerous ARB and EXT extensions created by Khronos members…

12,488 views
Advertisement
Advertisement