1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2025-08-28 00:12:16 +00:00
Merith fb43159b2a
[Iris] Merge Rendering Experiments to 1.18.1 (#77)
* Quick and dirty test.

- VBO monitor renderer path has been hijacked to test not using VBOs,
 instead we recreate the terminal geometry every frame.
- Add an explicit call the BufferSource.endBatch(). This actually fixes
 the incompatibility with Batched Entity Rendering. Who knew it was that
 easy?

 Results: works with Iris without shaders enabled.

* Use entity RenderType for rendering terminals in world.

- FixedWidthFontRenderer now emits quads and fills out all the vertex
 elements needed for the entity vertex format, which is, well, *all* of
 them.
- FixedWidthFontRenderer now takes a PoseStack so it can offset the char
 quads from the background.
- TERMINAL_MODE changed to quads so remaining custom RenderTypes work
 with FWFR.

New progress at this commit:
- Iris and Canvas both render the hi-jacked VBO backend properly.

Issues:
- Char quads have a blacker background than empty quads due to
 mismatched lightmaps.
- Items in hand have improper normals.
- TBO renderer is untested. Need to make sure it wasn't broken.

* More stuff

Progress:
- "VBO" code path now works fine with shaders.
- Printout GUI has lightmap issue.
- Pocket computer frames don't have right normals in world.
- Pocket computer lights don't work.

TODOs:
- Investigate whether VBOs can be used again without breaking compat.
If not, the code path needs to be renamed and the code for managing VBO
resources should be removed.
- Make sure TBO code path still works. Wouldn't be surprised if I broke
something there.

* Found a new rendertype for monitors, fixed normals

Progress:
- Monitors render fullbright in every direction.
- Normals are right on pocket computers and printouts, so lighting
  effects like directional light and shadow maps looks correct.
- BEST monitor renderer settings will detect shader mods and
  automatically enable shader compatible code path.

Details:
- The "textIntensity" rendertype is exactaly what we need for monitors.
  It's shader doesn't apply a directional light so monitors look
  fullbright consistent no matter what direction they're facing.
- Consolidated all references to rendertypes into RenderTypes class.
- Improved consistency of rendering classes. Methods pass a PoseStack
  instead of a Matrix4f down the chain where possible so that normals
  can be calculated, and most rendering classes now fill out all vertex
  elements so they can be used with any vanilla vertex format.
- Rendering methods should prefer to take a VertexConsumer rather than a
  BufferSource, the caller should provide appropriate buffer as that's
  where the context for buffer choice is.

TODO:
- Investigate re-enabling VBOs, and, if not an option, clean up naming
  and VBO related resource code.

* Re-enable vbos

Things were extremely slow without them in torture tests. They seem to
work fine with Iris. Will need to test with Canvas too. I don't know why
that hack with the inverse view rotation uniform works but fog doesn't
render correctly without it.

Unfortunately, the z-offset method does cause visible artifacts.
Background quads can sometimes be seen under the edges of adjacant
characters, giving the monitor a stitched together look. Will have to
investigate splitting all the background and char quads into two draw
calls and using glPolygonOffset on the characters :( which probably
means two vbos :( :(

Co-authored-by: Toad-Dev <748280+toad-dev@users.noreply.github.com>
2022-03-27 15:14:05 -07:00
2022-03-02 04:43:02 +00:00
2021-06-09 09:19:21 +01:00
2022-03-16 05:46:04 +00:00
2018-12-17 18:09:32 +00:00
2021-06-09 09:19:21 +01:00
2021-06-09 09:19:21 +01:00
2022-03-02 04:35:49 +00:00
2021-10-26 21:21:31 -04:00
2021-06-09 09:19:21 +01:00
2022-03-16 05:46:04 +00:00
2021-06-09 09:19:21 +01:00
2021-12-17 10:49:09 -08:00

CC: Restitched

Current build status Download CC: Restitched  on CurseForge Gitpod ready-to-code

What is CC: Restitched?

This is a fabric port of SquidDev-CC/CC-Tweaked. The work is a continuation of Zundrel/cc-tweaked-fabric.

CC: Restitched vs. CC: Tweaked

CC: R tries to maintain parity with CC: T, but may be behind or divergent in some areas. If you notice a disparity please open an issue. CC: R major and minor version numbers indicate parity with the major features of that version of CC: T. Patch version numbers will not align.

Resource Packs

This mod includes textures by Jummit that are more in line with the style of Mojang's new texture-artist, Jappa. If you prefer the original textures, enable the "Classic" resource pack.

CC: Restitched We also have a second resourcepack made by 3prm3, it features a complete overhaul and can be enabled by enabling the overhaul resource pack, go check out his resource pack over here!

Bleeding Edge Ver.

Bleeding edge builds can be found here at Github Actions. In the .zip file there should be a -dev jar, a -javadoc jar, a -sources-dev jar, a -sources jar, and a "plain" jar (jar without an affixed tag) jar. Put the "plain" jar in the mods folder.

Contributions

Any contribution is welcome, be that using the mod, reporting bugs or contributing code. In order to start helping develop CC: R there are a few rules;

  1. Follow the Fabric programming guidelines as close as possible. This means you have to use loom mappings, if you use anything else, your code will be rejected.
  2. Make sure your code follows the checkstyle rules. You can test this by running ./gradle build or ./gradle check.
  3. Do not alter the lua code unless those changes are taken directly from CC: Tweaked. If you wish to contribute changes to the in game rom please contribute upstream at CC-Tweaked.
  4. You cannot intentionally implement bugs and security vulnerabilities.
  5. Unless the code is taken directly from CC: Tweaked, lua code is offlimits from alteration.

Rendering Mod Compatability

  • [ YES ] Sodium
  • [ YES ] Optifine
    • Works with VBO Rendering (automatically set)
    • No issues
  • [ OK ] Iris Shaders
    • "Works" with TBO Rendering (Default)
    • Works with VBO Rendering
  • [ YES ] Canvas
    • Works with TBO Rendering (Default)

    • Scuffed with VBO Rendering

    • VBO is broken

      Monitors are just... scuffed beyond belief.

        • The content to the left is supposed to be on the monitors to the right, also the bottom one is supposed to black/white not colored.
      • Turtle Texture for some reason?

Community

If you need help getting started with CC: Restitched, want to show off your latest project, or just want to chat about ComputerCraft, here is the Forum and the Discord.

Perpheral Mods

Unfortunately, CC: Restitched does not have as many peripherals mods available as CC: Tweaked. If you're an interested mod developer, please check out our api package. If you've already made a mod with CC: R peripheral support OR if you're a player who found a mod with ComputerCraft integration, please open an issue here to let us know and we'll add it to the list!

Description
Modernized/improved/actually updated version of ComputerCraft: https://tweaked.cc
Readme 32 MiB
Languages
Java 73.7%
Lua 25%
Kotlin 0.6%
TypeScript 0.2%
Python 0.2%
Other 0.1%