summaryrefslogtreecommitdiffstats
path: root/core/math/camera_matrix.h
Commit message (Collapse)AuthorAgeFilesLines
* Implement Vector4, Vector4i, Projectionreduz2022-07-231-136/+0
| | | | | | | | | | | | | Implement built-in classes Vector4, Vector4i and Projection. * Two versions of Vector4 (float and integer). * A Projection class, which is a 4x4 matrix specialized in projection types. These types have been requested for a long time, but given they were very corner case they were not added before. Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity. **Q**: Why Projection and not Matrix4? **A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
* Initial TAA implementationjfons2022-06-071-0/+1
| | | | | | Initial TAA support based on the implementation in Spartan Engine. Motion vectors are correctly generated for camera and mesh movement, but there is no support for other things like particles or skeleton deformations.
* Core: Use forward declares for Vector3/Vector3iRémi Verschelde2022-02-191-0/+1
| | | | Add add Vector3 operator in Vector3i.
* Core: Make all Variant math types structsRémi Verschelde2022-02-041-3/+3
| | | | | | Some were declared as structs (public by default) and others as classes (private by default) but in practice all these math types exposed as Variants are all 100% public.
* Core: Move Rect2i to its own `rect2i.h` headerRémi Verschelde2022-02-041-2/+8
| | | | | And take the opportunity to improve interdependencies a bit with forward declares where possible.
* Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
| | | | Happy new year to the wonderful Godot community!
* Rename files and the exposed name for Transform3DAaron Franke2021-06-031-1/+1
|
* Rename Transform to Transform3D in coreAaron Franke2021-06-031-4/+4
|
* Added GPU based cluster builderreduz2021-01-191-0/+1
| | | | Clustering is now GPU based, uses an implementation based on the Activision algorithm.
* Update copyright statements to 2021Rémi Verschelde2021-01-011-2/+2
| | | | | | | | | | | | | | Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
* Implement automatic LOD (Level of Detail)reduz2020-12-181-0/+2
| | | | | | | -Happens on import by default for all models -Just works (tm) -Biasing can be later adjusted per node or per viewport (as well as globally) -Disabled AABB.get_support test because its broken
* Added volumetric fog effect.Juan Linietsky2020-08-131-1/+1
|
* Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde2020-05-141-3/+0
| | | | | | | | | | | | | | Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
* New lightmapperJuan Linietsky2020-05-101-0/+1
| | | | | | | -Added LocalVector (needed it) -Added stb_rect_pack (It's pretty cool, we could probably use it for other stuff too) -Fixes and changes all around the place -Added library for 128 bits fixed point (required for Delaunay3D)
* Style: Harmonize header guards to style guide [Core]Rémi Verschelde2020-03-251-1/+1
|
* Modified rendering to use cluster instead of fowardJuan Linietsky2020-02-111-0/+16
|
* Reflection probes workingJuan Linietsky2020-02-111-1/+1
|
* Rewrote large part of rendering, omni and spot shadows now work.Juan Linietsky2020-02-111-0/+1
|
* Yay very basic 3D (only white) finally shows.Juan Linietsky2020-02-111-0/+2
|
* Change CameraMatrix::get_viewport_size to get_viewport_half_extentslawnjelly2020-01-221-1/+1
| | | | | | | | | | | | | Fixes #26637. Fixes #19900. The viewport_size returned by get_viewport_size was previously incorrect, being half the correct value. The function is renamed to get_viewport_half_extents, and now returns a Vector2. Code which called this function has also been modified accordingly. This PR also fixes shadow culling when using ortho cameras, because the correct input for CameraMatrix::set_orthogonal should be the full HEIGHT from get_viewport_half_extents, and not half the width. It also fixes state.ubo_data.viewport_size in rasterizer_scene_gles3.cpp to be the width and the height of the viewport in pixels as stated in the documentation, rather than the current value which is half the viewport extents in worldspace, presumed to be a bug.
* Update copyright statements to 2020Rémi Verschelde2020-01-011-2/+2
| | | | | | | | | | | Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
* Remove redundant author doc commentsIAmActuallyCthulhu2019-08-121-4/+0
|
* Add FRUSTUM camera mode, allowing tilted frustumsJFonS2019-02-191-0/+1
| | | | | | | This new camera mode makes it easy to create tilted frustums for mirror or portal effects. This work was kindly sponsored by IMVU.
* Update copyright statements to 2019Rémi Verschelde2019-01-011-2/+2
| | | | Happy new year to the wonderful Godot community!
* Make core/ includes absolute, remove subfolders from include pathRémi Verschelde2018-09-121-2/+3
| | | | | | This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
* [Core] Completely kill math_2d.h, change includesAaron Franke2018-08-111-1/+1
|
* Add missing copyright headers and fix formattingRémi Verschelde2018-01-051-0/+1
| | | | | | Using `misc/scripts/fix_headers.py` on all Godot files. Some missing header guards were added, and the header inclusion order was fixed in the Bullet module.
* Update copyright statements to 2018Rémi Verschelde2018-01-011-2/+2
| | | | Happy new year to the wonderful Godot community!
* Rename Rect3 to AABB.Ferenc Arn2017-11-171-1/+1
| | | | Fixes #12973.
* Fix serveral recent new clang-format errorsHein-Pieter van Braam2017-09-081-1/+0
|
* Several fixes to directional shadows, closes #10926Juan Linietsky2017-09-071-0/+2
| | | | Added option to change directional light range mode, between optimized and stable. For Orthogonal, you might need to use optimized.
* Use HTTPS URL for Godot's website in the headersRémi Verschelde2017-08-271-1/+1
|
* Adding base classes and structures for ARVR supportBastiaanOlij2017-07-281-0/+2
| | | | | | Added ArVrScriptInterface Added ARVRCamera, ARVRController and ARVROrigin helper objects
* Add "Godot Engine contributors" copyright lineRémi Verschelde2017-04-081-0/+1
|
* A Whole New World (clang-format edition)Rémi Verschelde2017-03-051-22/+18
| | | | | | | | | | | | | | | | | | | | | | | | I can show you the code Pretty, with proper whitespace Tell me, coder, now when did You last write readable code? I can open your eyes Make you see your bad indent Force you to respect the style The core devs agreed upon A whole new world A new fantastic code format A de facto standard With some sugar Enforced with clang-format A whole new world A dazzling style we all dreamed of And when we read it through It's crystal clear That now we're in a whole new world of code
* Overloaded basic math funcs (double and float variants). Use real_t rather ↵Ferenc Arn2017-01-161-12/+12
| | | | | | than float or double in generic functions (core/math) whenever possible. Also inlined some more math functions.
* Type renames:Juan Linietsky2017-01-111-1/+1
| | | | | | | | | | | | Matrix32 -> Transform2D Matrix3 -> Basis AABB -> Rect3 RawArray -> PoolByteArray IntArray -> PoolIntArray FloatArray -> PoolFloatArray Vector2Array -> PoolVector2Array Vector3Array -> PoolVector3Array ColorArray -> PoolColorArray
* Merge remote-tracking branch 'origin/gles3' into gles3-on-masterRémi Verschelde2017-01-021-1/+4
|\ | | | | | | | | Various merge conflicts have been fixed manually and some mistakes might have been made - time will tell :)
| * DOF blur, near and far fields..Juan Linietsky2016-12-101-1/+1
| |
| * Support for SSAOJuan Linietsky2016-12-041-0/+1
| |
| * all light types and shadows are working, pending a lot of clean-upJuan Linietsky2016-11-091-0/+2
| |
* | Welcome in 2017, dear changelog reader!Rémi Verschelde2017-01-011-1/+1
|/ | | | | | | | That year should bring the long-awaited OpenGL ES 3.0 compatible renderer with state-of-the-art rendering techniques tuned to work as low as middle end handheld devices - without compromising with the possibilities given for higher end desktop games of course. Great times ahead for the Godot community and the gamers that will play our games!
* remove trailing whitespaceHubert Jarosz2016-03-091-8/+8
|
* Update copyright to 2016 in headersGeorge Marques2016-01-011-1/+1
|
* Updated copyright year in all headersJuan Linietsky2015-04-181-1/+1
|
* Camera FixesJuan Linietsky2014-09-151-1/+1
| | | | | | | | | | | -=-=-=-=-=-= -Object Picking and orthogonal camera related functions fixed (i hope) -Going to preview mode in the camera shows a frame with the correct game aspect ratio -Changed Camera API and properties a little t make it more straightforward -Fixed bug in shader compiler. -Fixed bug in ShaderGL
* GODOT IS OPEN SOURCEJuan Linietsky2014-02-091-0/+106