Activity

Cocoboyyy

Shipped this project!

Hours: 37.66
Cookies: 🍪 1030
Multiplier: 27.36 cookies/hr

This is my first project! I tried to create a program that allows people to visualize images and functions in an original way, in 3D. This can be useful for teaching or for image analysis (the algorithms are very simple for now). My goal is to create another program based on neural networks to generate a bird’s-eye view and produce amazing top-down landscapes from side images.
This project was a real challenge because it was my first real project in C++, and I had to figure out how to use the incredible tool OpenGL. I spent a lot of time in the documentation, often trying things that didn’t work at first, but I finally did it, and it was a great experience for me.
I hope you enjoy it! Have a great day of coding!

Cocoboyyy

Hello, I finally managed to get a good approximation of the vanishing point to estimate depth using perspective. However, I’m not sure whether I should continue with this approach (which is quite tricky) or try a different one, perhaps a physics-informed neural network based on perceptual physics, or an AI model like Anything V2.
I hope you’re doing well. Have a great day of coding!

Attachment
Attachment
0
Cocoboyyy

Hi,
We’ve started going deeper into image depth analysis. I implemented some algorithms to detect lines in the picture and determine which ones are parallel to each other.
Now, let’s try to detect parallelograms in the image to create a depth approximation based on perspective. Talk to you soon!

Attachment
Attachment
Attachment
0
Cocoboyyy

Hey, to get started, I simply reorganized the folder structure of my project by creating the classes ImageProcessing.hpp and Function.hpp. I think it will now be easier to develop our image processing logic. Have a great day!

Attachment
0
Cocoboyyy

Hi! This is a small devlog. I updated my README and fixed some issues with the camera and orbital trajectory. Now I’m going to focus on data and image processing, trying to find patterns that appear in many images and may indicate depth. Maybe I’ll create a depth-based calculation using these patterns and eventually transform a side-view image into a zenithal (top-down) view to convert landscapes into 3D maps. I hope you wrote some great code today too! Bye ;)

Attachment
0
Cocoboyyy

Hey, finally we have the Viridis gradient to represent the height (I will add colors like Magma and Plasma later).
Now the mission is to create a few algorithms to detect the most important features and try to reduce the resolution as much as possible.If you have any suggestions, I’ll gladly take them!
Thanks for reading, and have a nice day!!

Guess which painting is represented in the picture…

Attachment
0
Cocoboyyy

We did it! After a few issues with my vertex shader and glVertexAttribPointer, I finally managed to trace the edges of my cube (next step: without the middle line ;). Now I will implement a feature that modifies the colors based on height, and then go back to our image processing system.
I hope you’re enjoying your day. Have a great day of coding!!

Attachment
Attachment
0
Cocoboyyy

Hey! I started implementing image processing features. Actually, I began with the simplest one: grayscale average. However, I ran into a big problem, the rendering isn’t very useful without shades and color variation :(

So, let’s dive into shaders and try to add some lighting!
Have a great day coding!

Attachment
0
Cocoboyyy

Hey guys, what’s up?

Quick update on my project: I’ve added a few features to my Shunting Yard algorithm, like parentheses and functions. I’ll soon update my RPN calculator to support functions so I can finally start working on the image analysis.

Have a great coding day!

Attachment
0
Cocoboyyy

Hello, I finally managed to create a user-input-based function visualizer. First, I parsed the user input using the Shunting Yard algorithm (it doesn’t accept functions like exp, sin, or cos for now). Next, I calculate the position of each cube for every frame using an RPN calculator.

You can admire a beautiful x^3 / y function.

I hope you’re doing well. Bye bye!

3

Comments

hack.clubber
hack.clubber about 1 month ago

brooo, we made the same thing but mine runs in the terminal, look at my projects

hack.clubber
hack.clubber about 1 month ago

and btw, ur project description is 100% made with AI, bro u didn’t even try to make it look human, if gpt wrote [your name here] it would’ve been in ur description

Cocoboyyy
Cocoboyyy 29 days ago

Yes, I’ve seen your project, it’s really clean.
However, this project is more focused on processing data like images and exploring what can be generated from them.
Regarding AI, I’m sorry, I didn’t have my AI declaration updated. Have a great day of coding!

Cocoboyyy

New day, new goal! I’ve started implementing function visualization. Currently, I’m working on the Shunting Yard algorithm to convert user input into an expression my code can understand. I hope you’re doing well—have a great day of coding!!

0
Cocoboyyy

Big improvement! Now we can move through our 3D space using ZSQD and rotate using the arrow keys. Now, let’s start implementing the beginning of our algorithm to convert images into volumetric shapes. Catch you next time!

0
Cocoboyyy

Hi guys, today I managed to create and visualize 3D shapes and a cube. I had a few issues with my vertex shader (the part that renders our vertices) and with the translation system using GLM. But now we’re starting to see our grid. It’s really exciting. Have a great day of coding!!

0
Cocoboyyy

I finally made my square, and I tried to position it inside a double nested loop to place a square at a given position relative to the coordinates passed into the function. It was quite hard to do, but I learned a few new principles in OpenGL, and that’s really exciting.

The next step will be to create a grid of these squares and maybe convert them into 3D cubes. I hope you’ll enjoy what’s coming next…

Thanks for reading!

0
Cocoboyyy

After an hour of configuration, I finally installed C++ with all packages like OpenGL ( thanks to vcpkg). Finally, a managed to create my first windows. The next step will be to create my cube based on triangles in a 3-dimensional coordinate system. I hope you will like it !!

Attachment
0