Code Monkey home page Code Monkey logo

Comments (12)

beniwtv avatar beniwtv commented on July 26, 2024

Is there anything more in the line with "OpenVR reports"?

from godot_openvr.

NeoSpark314 avatar NeoSpark314 commented on July 26, 2024

No; this is the only output (but repeated).

from godot_openvr.

beniwtv avatar beniwtv commented on July 26, 2024

ok, found where that error is written in the module, it's when we try to submit a texture to OpenVR. Error 105 seems to mean 'texture in unsupported format' there.

Any ideas @BastiaanOlij ?

from godot_openvr.

BastiaanOlij avatar BastiaanOlij commented on July 26, 2024

from godot_openvr.

BastiaanOlij avatar BastiaanOlij commented on July 26, 2024

If you use the latest Godot master this should work fine now. This was all a result of the workarounds we put in place to make MSAA work on Quest. Now that that is implemented properly OpenVR should work fine. Just make sure you set the MSAA mode properly.

from godot_openvr.

BastiaanOlij avatar BastiaanOlij commented on July 26, 2024

Sorry I am mixing up issues :)
I'm able to reproduce this issue. Really weird one, this used to be ok

edit ok I don't know if this changed recently on our end or if OpenVR changes something but the problem is that we're using RGB buffers in the GLES2 driver. OpenVR requires RGBA buffers. You can force it to work by turning the viewports transparent background property on:

$get_viewport().transparent_bg = true

But you loose your background (sky etc), fine as a work around for indoor games.

@akien-mga any chance you can do your blame magic and find out if this piece of code was changed recently:
https://github.com/godotengine/godot/blob/master/drivers/gles2/rasterizer_storage_gles2.cpp#L4587
That is switching to an RGB buffer if transparency is off.

I can see that in the Godot 3.1 branch this code did not exist and an RGBA buffer was always created.

from godot_openvr.

akien-mga avatar akien-mga commented on July 26, 2024

@akien-mga any chance you can do your blame magic and find out if this piece of code was changed recently:
https://github.com/godotengine/godot/blob/master/drivers/gles2/rasterizer_storage_gles2.cpp#L4587
That is switching to an RGB buffer if transparency is off.

Just replace blob by blame in the URL :)
https://github.com/godotengine/godot/blame/master/drivers/gles2/rasterizer_storage_gles2.cpp#L4587

Probably related to godotengine/godot#28518 (and subsequent changes), CC @clayjohn.

from godot_openvr.

clayjohn avatar clayjohn commented on July 26, 2024

If the issue is using RGB instead of RGBA textures than that was added here godotengine/godot@aab8f44

I think he added RGB as default because it is more efficient on some of the really low end hardware? Im not sure what the rationale was, but I respected the format with my changes to MSAA and post-processing buffer.

from godot_openvr.

akien-mga avatar akien-mga commented on July 26, 2024

If the issue is using RGB instead of RGBA textures than that was added here godotengine/godot@aab8f44

That commit is in 3.1-stable and 3.1.1-stable though - when did the rendering issue start for OpenVR? Does it work in 3.1 or only 3.0.x?

from godot_openvr.

BastiaanOlij avatar BastiaanOlij commented on July 26, 2024

from godot_openvr.

clayjohn avatar clayjohn commented on July 26, 2024

We should likely be explicit and just use gl_rgb8 I've heard that it is better for a lot of hardware. For a lot of hardware GL_RGB doesn't necessary resolve to GL_RGB8.

from godot_openvr.

BastiaanOlij avatar BastiaanOlij commented on July 26, 2024

You can see we do the same in GLES3:
https://github.com/godotengine/godot/blob/master/drivers/gles3/rasterizer_storage_gles3.cpp#L6879

I'll experiment with it and if it works I'll also make sure the texture at the end gets the proper values.

from godot_openvr.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.