UnityCsReference
tinyraycaster
Our great sponsors
UnityCsReference | tinyraycaster | |
---|---|---|
58 | 5 | |
11,389 | 1,839 | |
1.5% | - | |
7.4 | 0.0 | |
2 days ago | about 5 years ago | |
C# | C++ | |
GNU General Public License v3.0 or later | Do What The F*ck You Want To Public License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
UnityCsReference
-
Anyone know what Unity's Matrix4x4 looks like internally?
I've checked their CS reference code on their Github, both here and here, but I want to dive a little deeper - specifically, I want to know what they're actually doing when determining validity of the Matrix4x4.
-
Torn between chossing Unity & C# or going UE5 and C++. What made you choose unity?
Yep, but beyond just decompiling it, the c# layer of code is on GitHub: https://github.com/Unity-Technologies/UnityCsReference
- 2 minutes of silence for those who bought RTX 3070 and RTX 3070Ti
-
Do you use System.Object.ReferenceEquals() ?
https://github.com/Unity-Technologies/UnityCsReference/blob/master/Runtime/Export/Scripting/UnityEngineObject.bindings.cs (after 2019.1)
-
Custom method attribute for Animation Event Functions
The code where the method filtering for the Animation Event Inspector is done, is here (line 190). Is it possible to do something like this? That repository explicitly says:
- Can’t find operation
-
Bounds.Encapsulate precision loss?
No reason, you can look at the source of encapsulate
-
Modify Project Setting's "Default Quality Level" by script
There isn't really a straight forward way to do this, even the QualitySettings editor uses Serialised Properties to get at the data. (Line 343 in QualitySettingsEditor)
-
Has any indie dev got (read-only) access to Unity source? How much did it cost?
This is awesome, thank you! I'm most curious about their Runtime
-
Is C++ still the language when entering 3D programming in 2023?
I think if you want to get into graphics programming you do want to work with OpenGL and similar things, because at the very least you need to understand it all (and decide what parts of engines to use and what to ignore when you get to whole games). It's also worth saying that while you can only publicly get the references in Unity you do get source access at the higher subscription tiers you'd use at a game studio.
tinyraycaster
- Can someone please explain how old school pseudo 3D dungeon crawlers were made?
-
Finding Your Home in Game Graphics Programming
That sounds like a fun challenge. If you're constraining yourself to use as few libraries as possible, I'd go with OBJ [1] for the 3d mesh and PPM [2] for writing images. It's easy to implement a bare bones reader/writer and some OSes (like macOS) can show them in the file browser. Raytracing in One Weekend goes over PPM. There are a bunch of header-only libraries that handle different file formats like stb_image [3]. I usually end up using those when I start dealing with textures or UI elements. I don't use Windows so I haven't used their APIs for projects like this. I'd usually go for imgui or SDL (like you mentioned). tinyracaster, a sibling project of tinyrenderer, touches on those [4]. I liked LazyFoo's SDL tutorial [5]. Good luck!
[1] https://en.wikipedia.org/wiki/Wavefront_.obj_file
[2] https://en.wikipedia.org/wiki/Netpbm#PPM_example
[3] https://github.com/nothings/stb
[4] https://github.com/ssloy/tinyraycaster/wiki/Part-4:-SDL
[5] https://lazyfoo.net/tutorials/SDL/index.php
-
How do 2.5D games work?
I haven’t followed this one but I did follow another of his tutorials and that was good, here is ssloy’s tinyraycaster: https://github.com/ssloy/tinyraycaster/wiki
-
what are the best resources to learn makefile and how to understand large codebases
Don't just jump into the source file , read the make file first, from there you'll know how main file is dependent on other files , and start with the .h(header files as they'll give a basic idea what their corresponding .cpp file do and yeah start with small Repos first as they are easier to understand like this one.
-
Game Development With Windows 95
I believe this wiki page can walk you through a retro style raycaster engine: https://github.com/ssloy/tinyraycaster/wiki
What are some alternatives?
fastapi - FastAPI framework, high performance, easy to learn, fast to code, ready for production
pymake - Parse GNU Makefiles with Python. Work in progress!
ILSpy - .NET Decompiler with support for PDB generation, ReadyToRun, Metadata (&more) - cross-platform!
bitmappers-companion - zine/book about bitmap drawing algorithms and math with code examples in Rust
Raylib-CsLo - autogen bindings to Raylib 4.x and convenience wrappers on top. Requires use of `unsafe`
raylib - A simple and easy-to-use library to enjoy videogames programming
astc-encoder - The Arm ASTC Encoder, a compressor for the Adaptive Scalable Texture Compression data format.
oqtane.framework - CMS & Application Framework for Blazor & .NET MAUI
Graphics - Unity Graphics - Including Scriptable Render Pipeline
dotNext - Next generation API for .NET
Apache Ant - Apache Ant is a Java-based build tool.