Jump to content
The Dark Mod Forums

Search the Community

Searched results for '/tags/forums/renderer/' or tags 'forums/renderer/q=/tags/forums/renderer/&'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General Discussion
    • News & Announcements
    • The Dark Mod
    • Fan Missions
    • Off-Topic
  • Feedback and Support
    • TDM Tech Support
    • DarkRadiant Feedback and Development
    • I want to Help
  • Editing and Design
    • TDM Editors Guild
    • Art Assets
    • Music & SFX

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

  1. Is there something wrong with the forums lately, or is it my browser? I've been having trouble formatting posts, and just now I couldn't format anything at all.

    I'm using Vivaldi.

    Usually I have to: select text, click bold, nothing happens, select again, click bold, then it works. 

    Same for other stuff, like creating spoilers, bullet points, links. Nothing works the first time. 

    1. datiswous

      datiswous

      I have no problem. I use Firefox. @Zerg Rush also uses Vivaldi. Have you tried without extensions, or in another browser?

      (btw. bold, italic and underline have shortcut keys: Ctrl B, Ctrl I and Ctrl U, you could try that)

       

  2. I'm opening this topic to summarise the technical changes that have been made to DR's renderer and get some feedback from my fellow coders. I'd love to get a peer review on the code changes, but going through that by looking at a pull request of that renderer branch would be a terrible experience, I assume, so instead I'd like to give an overview over what is done differently now. General things to know about DR's renderer DarkRadiant needs to support three different render views or modes: orthographic view, editor preview (fullbright) and lighting preview. Each of them has very different needs, but the lit preview is the most complex one, since it ideally should resemble what the TDM engine is producing. Apart from the obvious things like brush faces and model geometry, it needs to support drawing editor-specific things like path connection lines, light volumes, manipulators (like the rotation widget) or patch vertices. Nodes can be selected, which makes them appear highlighted: they display a red overlay and a white outline in the camera preview, whereas the orthoview shows selected item using a thicker red dashed line to outline selected items. DarkRadiant cannot specialise its renderer on displaying triangles only. Path lines for instance are using GL_LINE_STRIPs, Single brush faces (windings) are using GL_POLYGON for their outline (triangulation of brush faces in the ortho view or the camera (when selected) introduce a lot of visual noise, we just want the outline), patches want to have their control mesh rendered using GL_QUADS. Model surfaces (like .ASE and .LWO models) on the other hand are using GL_TRIANGLES all the way. Almost every object in DarkRadiant is mutable and can change its appearance as authors are manipulating the scene. CPU-intensive optimisations like generating visportal areas is not a likely option for DR, the scene can fundamentally change between operations. The Renderer before the changes DR's rendering used to work like this: all the visible scene nodes (brushes, patches, entities, models, etc.) were collected. They have been visited and were asked to forward any Renderable object they'd like to display to a provided RenderableCollector. The collector class (as part of the frontend render pass) sorted these renderables into their shaders (materials). So at the end of the front end pass, every shader held a list of objects it needed to display. The back end renderer sorted all the material stages by priority and asked each of them to render the objects that have been collected, by calling their OpenGLRenderable::render() method. After all objects rendered their stuff, the shader objects were emptied for the next frame. Culling of invisible objects has been happening by sorting objects into an Octree (which is a good choice for ortho view culling), some culling has been done in the render methods themselves (both frontend and backend calls). The problems at hand Doing the same work over and over again: it's rare that all the objects in the scene change at once. Usually prefabs are moved around, faces are textured, brushes are clipped. When flying through a map using the camera view, or by shifting the ortho view around, the scene objects are unchanged for quite a number of frames. Separation of concerns: every renderable object in the scene has been implementing its own render() method that invoked the corresponding openGL calls. There were legacy-style glBegin/glEnd rendering (used for path nodes), glDrawElements, glCallList, including state changes like enabling arrays, setting up blend modes or colours. These are render calls that should rather be performed by the back end renderer, and should not be the responsibility of, let's say, a BrushNode. Draw Calls: Since every object has been submitting its own geometry, there has been no way to group the calls. A moderately sized map features more than 50k brush faces, and about half as many patch surfaces. Rendering the whole map can easily add up to about 100k draw calls, with each draw call submitting 4 vertices (using GL_POLYGON). Inconsistent Vertex Data: since each object was doing the rendering on its own, it has been free to choose what format to save its data in. Some stored just the vertex' 3D coordinate, some had been adding colour information, some were using full featured vertices including normal and tangents. State Changes: since every object was handled individually, the openGL state could change back and forth in between a few brush windings. The entity can be influencing the shader passes by altering e.g. the texture matrix, so each renderable of the same material triggered a re-evaluation of the material stage, leading to a massive amount of openGL state changes. Then again, a lot of brushes and patches are worldspawn, which never does anything like this, but optimisation was not possible since the backend knew nothing about that. Lighting mode rendering: Lighting mode had a hard time figuring out which object was actually hit by a single light entity. Also, the object-to-entity relationship was tough to handle by the back end. Seeing how idTech4 or the TDM engine is handling things, DR has been doing it reversed. Lighting mode rendering has been part of the "solid render" mode, which caused quite a few if/else branches in the back end render methods. Lighting mode and fullbright mode are fundamentally different, yet they're using the same frontend and backend methods. The Goals openGL calls moved to the backend: no (frontend) scene object should be bothered with how the object is going to be rendered. Everything in terms of openGL is handled by the back end. Reduced amount of draw calls: so many objects are using the same render setup, they're using the same material, are child of the same parent entity, are even in almost the same 3D location. Windings need to be grouped and submitted in a single draw call wherever possible. Same goes for other geometry. Vertex Data stored in a central memory chunk: provide an infrastructure to store all the objects in a single chunk of memory. This will enable us to transition to store all the render data in one or two large VBOs. Support Object Changes: if everything should be stored in a continuous memory block, how do we go about changing, adding and removing vertex data? Changes to geometry (and also material changes like when texturing brushes) is a common use-case and it must happen fast. Support Oriented Model Surfaces: many map objects are influenced by their parent node's orientation, like a torch model surface that is rotated by the "rotation" spawnarg of its parent entity. A map can feature a lot of instances of the same model, the renderer needs to support that use-case. On the other hand, brush windings and patches are never oriented, they are always using world coordinates. Unified vertex data format: everything that is submitted as renderable geometry to the back end must define its vertex data in the same format. The natural choice would be the ArbitraryMeshVertex type that has been around for a while. All in all, get closer to what the TDM engine is doing: by doing all of the above, we put ourselves in the position to port more engine render features over to DR, maybe even add a shadow implementation at some point.
  3. Since Aluminum directed me here ( https://forums.thedarkmod.com/index.php?/topic/9082-newbie-darkradiant-questions/page/437/#comment-475263 ) can we have unlimited renderer effects? Well, maybe not unlimited, by maybe 3-5? Thanks.

     

    1. Show previous comments  1 more
    2. Nort

      Nort

      Since I wasn't the one mainly asking, I'll just cite you in the original thread instead.

    3. AluminumHaste

      AluminumHaste

      There already is a kind of sorting, sort nearest, sort decal, sort <n>. For things like windows and such, sort nearest should probably have the desirable affect, though looking through multiple translucent shaders might kill performance.

    4. Nort

      Nort

      Is having multiple render effects really killing performance that badly? I don't understand. You're saying that if I have two transparent objects side-by-side, then they'll just count as two render effects, but when combined, they somehow become something much more difficult to render?

      Never-the-less, unless we're talking some kind of infinite portal problem, why not let the mapper choose how much he wants to kill performance? Just warn him against putting too many effects close together.

  4. Woo!! 2.10 Beta "Release Candidate" ( 210-07 ) is out:

    https://forums.thedarkmod.com/index.php?/topic/21198-beta-testing-210/

    It wont be long now :) ...

  5. I don't think there's a link to thedarkmod.com on forums.thedarkmod.com ...

    1. datiswous

      datiswous

      Yeah and the wiki and moddb. It should have those links in the footer I think. Probably easy to add by an admin.

      Edit: And a link to the bugtracker. I'm always searching for a post in the forum that links to that because I can't remember the url.

    2. Petike the Taffer

      Petike the Taffer

      I drew attention to this several times in the last few years. No one payed it any attention, so I just gave up.

    3. duzenko

      duzenko

      Reluctance to improve the forums is matched by reluctance to allow more people to work on it. Talk about trust and power.

  6. Not so long ago I found what could make a pretty good profile picture and decided to try it out on these new forums. But I couldn't find a button anywhere that would let me change it. I asked on Discord and it seems Spooks also couldn't find anything anywhere. So I logged into an old alternative account and, lo and behold, that account has a button. This is on the first screen I get when I: 1) click on my account name in the top-right of the browser -> 2) click on 'profile'. Compared to my actual account: Are you also missing this button on your account? It'd be very much appreciated if that functionality could be restored to any of the affected accounts.
  7. So, I'm not sure how much changes you have made to the renderer and it's integration with the rest of the engine, so I do not know if this is at all feasible even, but a Vulkan renderer for the Doom 3 Engine has been released Open Source and perhaps it would be a good idea to integrate this in the future. Here's the article, it includes links to the Github Repo etc. http://www.phoronix.com/scan.php?page=news_item&px=Vulkan-Doom3-Available I understand that this might be quite an undertaking, and I do not at all expect this to be a feature in the near future, I just thought I'd share this information, and perhaps you could make use of it ^-^
  8. Time to prank Duzenko. Let's see if we can sneak GL_POLYGON_SMOOTH into the renderer somewhere...

    1. Show previous comments  1 more
    2. AluminumHaste
    3. nbohr1more

      nbohr1more

      Duzenko: I'm gonna get rid of all legacy OpenGL in TDM. (months of work) nbohr1more: what's the oldest and most buggy OpenGL feature...?

    4. duzenko

      duzenko

      And I just read this 🤣

  9. Hi, I need to know what the code is to use Spoiler Tags. I am using my tablet and I don't have the options to use anything, like spoiler tags, quote tags, text changes etc. Thanks
  10. Still spreading the word about TDM on forums to new peops... Funny to see people say "Awesome, I loved playing Thief back in the day!"

    1. Show previous comments  2 more
    2. kano

      kano

      Yes it was in a discussion where someone was saying how unhappy they are with the way game companies grant themselves permission to do whatever they like to your PC and personal info today. I pointed out that giving up games completely is an unnecessarily overkill solution when there are free games like TDM to play.

    3. Epifire

      Epifire

      Honestly the mod/Indie genre is still really booming right now. And they aint got no reason to do shady invasive privacy bs.

    4. Petike the Taffer

      Petike the Taffer

      What Epifire said. :-)

    1. Tarhiel

      Tarhiel

      Awesome, congratulations!!! :o

    2. Bikerdude

      Bikerdude

      Yup, all the remianing bugs were ironed out, so it nigh on perfect now.

    3. AluminumHaste

      AluminumHaste

      version 2.1 is now uploaded to mirrors ready to download.

  11. Hi guys, through the "cheats" topic I got the idea, that it would be quite useful, if there were tags for missions (the post was about removing the killing restriction in some missions to suit the prefered play style). I don't know how easy or difficult this is, but with them, it would be quite convenient to pick missions with playstyles, environment, etc one does want to use. This could also be expanded to other mission properties. I remember a discussion about climbable drains, handles on doors, that cannot be picked and other things the map author chooses for himself. That way these things would be clearer and as I said before, it is easier to choose missions with playstyles that suit oneself. What do think?
  12. can somebody fix the mainpage of our site? http://forums.thedarkmod.com/topic/19469-new-layout-error/

    1. nbohr1more
    2. Springheel

      Springheel

      It's under construction at the moment.

       

  13. Experimenting with TDM on Steam Link on Android. see topic http://forums.thedarkmod.com/topic/19432-tdm-on-steam-link-for-android/

    1. freyk

      freyk

      Did the TDM team removed D3's internal Joypad feature? (tdm works only with systemkey binders for joysicks)

    2. freyk

      freyk

      Thanks to shadrach, i got my joypad working in TDM on steam link!

  14. An appeal to mappers: If you're working on a map that crashes the game for no apparent reason, or if bits of your map don't get drawn on screen, or if you get glitches around visportals, please report it and/or PM me or grayman a copy of your work-in-progress. No need to tidy it up or resolve other issues. Crashes are very easy to diagnose in a special debugging version of the engine, and they're often easy to fix permanently in future releases. Reproducible renderer glitches are very useful for improving the renderer and dmap. If you fix them by tweaking the map instead of reporting them, we don't get a chance to fix the root cause. (Plus it might save you days of frustration struggling with a glitching map).
  15. Did a great find today: Quake 4 mods for dummies. Now online readable. http://forums.thedarkmod.com/topic/5576-book-quake-4-mods-for-dummies/?p=412644

    1. Obsttorte
    2. Bikerdude

      Bikerdude

      He changed ita long while back, it was so he was using the same name as he uses on other forums.

  16. That moment you log into TDM forums and suddenly feel nostalgic...

    1. Sotha

      Sotha

      Protip: if you never log off and stay for ever, there is no nostalgia when you visit.

    2. Melan

      Melan

      Welcome back!

    3. RPGista

      RPGista

      Haha yeah, I feel like that from time to time. Good to see you around.

×
×
  • Create New...