Pine3D written from scratch
The best performing 3d graphics library for ComputerCraft!
(now 6x faster than the old version from a few years ago)
This post has not yet been properly updated
Please visit https://pine3d.cc/ for documentation and our Discord server discord.gg/MjsNjK2psB for help and more info
gif below is running at 4x default resolution in CCEmuX. It'll run faster in a normal CC resolution. The rewrite will be over 5x faster than the previous version. (also hello if you still look at the forum. It's been a while.)
I'm posting my progress on my small Discord server for this project:
v0.5.1 is released!
Hello everyone! First of all I want to say that English is not my native language, so please don't get angry if I make any mistakes. I have been trying to create a 3D renderer in computercraft. Please give me some feedback and tell me what you would like to see implemented.
Ideas to be implemented:
- Vertical rotation of objects
- Custom vertexshaders
- Texture support (may not be implemented, because it would probably be very laggy to use real-time)
API in action:
http://www.computerc...ine-highscores/
Documentation:
http://www.mediafire...tation.pdf/file
Pastebin downloads:
[ThreeD API minified (smaller file)] - pastebin get meXK8uweThreeD
[ThreeD API (original)I] - pastebin get g1xp8H5X ThreeD
[Engine] - pastebin get DqCTJBza Engine
[First demo] - pastebin get P5b7cAQc Demo1
[Second demo] - pastebin get xTgJQ0hk Demo2
[Third demo] - pastebin get vkaxmF1D Demo3
Complete download (with all files):
http://www.mediafire...ackage.zip/file
Update notes:
Version 0.1:
- Renders 3D objects
- Ability to walk around
- Ability to look left and right
- Give objects rotation values
- Renders 3D boxes
- Ability to walk left and right
- Ability to look up and down
- Ability to fly up and down
- More efficient code
- The code is now split into an API and a demo
- Now uses a buffer (to avoid flickering)
- You can now create your own models
- Square objects look square on screen because the not-square pixels have been compensated for
- The oriƫntation of objects is now changeable
- Objects are not rendered when they're not in sight
- Sky and ground colors are easily changed as background
- Change sorting algorithm to use table.sort() for better performance
- Added support for Bomb Bloke's blittle API - Render distance is changeable
- Using term.blit() to render the screen for better performance
- Cleaner code
- Added support for multiple renders at the same time
- Polygons are now only rendered from one side unless specified otherwise. (For better performance)
- Crash fix
- Lagspike fixes
- Performance is better
- Added the ability to trace what's on the screen at certain coordinates and returns the index of the object with the index of the polygon of the model that corresponds to that object
- Added the ability to manually load models as a tabl
- Added the ability to get the model of an object my model name if it has already been loaded
- Performance is way better
- The polygons can now have a character and char color in case the BLittle function isn't used
- Way cleaner code
- (Documentation added)
- (More demos and comments added to the improved engine)
Edited by Xella, 11 December 2022 - 09:59 PM.