Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugin system for adding new sensors #750

Closed
nsubiron opened this issue Sep 3, 2018 · 3 comments · Fixed by #830
Closed

Plugin system for adding new sensors #750

nsubiron opened this issue Sep 3, 2018 · 3 comments · Fixed by #830
Assignees
Labels
c++ Requires changing C++ code feature request
Milestone

Comments

@nsubiron
Copy link
Collaborator

nsubiron commented Sep 3, 2018

Although due to performance reasons is not feasible to have a runtime plugin system for sensors, we can do it at compile time.

Make a system in which users can add their own sensors by

  1. Adding a sensor class to UE4 that gathers data.
  2. Adding a serializer class to LibCarla with two functions, serialize and deserialize.
  3. Registering both classes at some sensor registry.
@nsubiron nsubiron added feature request in progress c++ Requires changing C++ code labels Sep 3, 2018
@nsubiron nsubiron added this to the 0.9.1 milestone Sep 3, 2018
@nsubiron nsubiron self-assigned this Sep 3, 2018
@analog-cbarber
Copy link

For the special case of sensors that are based on post processing materials applied to a camera view, you should be able to support an even simpler plugin mechanism that just specifies the material to use and perhaps output format (e.g. RGBA vs float).

@nsubiron
Copy link
Collaborator Author

nsubiron commented Oct 2, 2018

@analog-cbarber I did the "ShaderBasedSensor" that you just need to provide a post-processing material as you suggested :)

We also make some testing for changing the format of the image buffer but gave us some issues, most of the formats doesn't seem to be supported by UE4 captures (or probably we are doing something wrong) so for now I'm not adding that until we understand well how to do it.

@marcgpuig
Copy link
Contributor

Hey @analog-cbarber
Here you can find the full list of Unreal formats, but sadly as @nsubiron said, the render target supports only these formats:

PF_B8G8R8A8
PF_A16B16G16R16
PF_FloatRGB
PF_FloatRGBA
PF_A2B10G10R10
PF_DepthStencil

It could be super cool support something like PF_A32B32G32R32F to return a buffer with world position per pixel, or another one with PF_R32_FLOAT to simply return the depth without codification.

Not sure the amount of work that should take changing the engine to support these features, but we are not really interested in it due to the costs of maintaining a custom Unreal.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c++ Requires changing C++ code feature request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants