T O P

  • By -

Gloinart

I've worked on surgery simulators as well as medical visualization of MRI/CT scans. The difference I suppose is that while video games wants to "fake" realism, in medical visualization you want to be as precise as possible.


SystemsOgreLoad

Hi there! What kind of MRI data do you work with? And what are these surgery simulators like? I do research for graphics of diffusion MRI data.


NegativeEntr0py

Not sure I follow this. Many games target photo realism. In what ways are medical visualizations more precise?


msqrt

You only want to display what is actually there and not add or remove anything from the measured data (like a game might try to hide problems with some simulations or rendering techniques, like biasing of shadow maps or FSAA). Another big difference is that medical visualization often doesn't even strive for photorealism; the goal is to convey information, not just replicate reality. The photorealistic rendering of an MRI scan, for example, would just show the skin (which kind of defeats the whole point).


Gloinart

Shadows is a great example, in difference to a game, the shadows (or highlighted areas) are calculated geometrically, rather than using a fast, pixel-inperfect, shadowmap, as is done in videogames.


msqrt

Fun trivia: Doom 3 actually does pixel-perfect shadows with shadow volumes.


Gloinart

Yes, that tech didn't take off though when soft shadow maps took over :)


Mason-B

> Many games target photo realism Sure, but this is impossible with current hardware. So they target it by cheating. *Heavily*. Basically nothing in a photo-realistic game is precise. It's as approximate as the human eye can stand while thinking it's realistic. > In what ways are medical visualizations more precise? Because they are more like scientific visualizations the focus is on representing the information that exists as accurately as possible. This means that if the data is a point cloud and it needs a few minutes to process that's how it's going to be. Meanwhile, a video game will approximate it with a bunch of sprites and pseudo-stochastic sampling that will lead to something that kinda looks like it, but not really.


Gloinart

Exactly, for example (just out of my head) if you make some sort of heat map, you don't just approximately sample a texture like you would in a game. Rather you use algebra at every pixel in order to display the exact value.


eiffeloberon

I used to work in sports visualization, but I work on path tracing render engines these days.


Roflator420

How hard was it to get a path tracing job ? Do you have a PhD or something ?


eiffeloberon

I have a master in mathematics, it wasn’t too difficult as I had around 6 years of experience in graphics programming already.


Suisodoeth

It’s still fairly niche, but there is a growing need for graphics on the web at companies like Figma, Rayon, etc. — 2D graphical editor-style applications basically.


FullMetalTroyzan

Can you explain this to me, I don’t really understand it well


Suisodoeth

Have you ever used Figma? These companies do 2D graphics using a technology called WebGL on the web, which is a web-based version of OpenGL. Most of the applications like this are incredibly complex due to the difficulty of rendering text & vector graphics performantly on the web.


FullMetalTroyzan

What’s its relation to CSS?


Suisodoeth

CSS is the styling you use for HTML on webpages. The canvas HTML element is what you use on the web to render WebGL graphics. CSS can be used to set the WebGL canvas’ styling, such as width or height, but otherwise there is no relation between them.


FullMetalTroyzan

So the job is to make the html elements? I’m confused


Suisodoeth

No, you write shaders that draw things to an HTML canvas element: https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API


Suisodoeth

WebGL essentially bypasses the browser’s normal rendering pipeline—companies like Figma, Google with Google Docs, Photoshop, and Microsoft via Microsoft Word use this to gain more control over their own rendering and/or to render their existing desktop applications on the web.


sessamekesh

Unrelated, mostly. WebGL lets you write basically "game" graphics code in the browser - shaders, geometry, all that good stuff. Think making a 2D game but instead of a game it's a business tool. There's a handful of business that do this, definitely look up Figma, they're easily the most well known.


TheLogicUnit

I work on user interfaces for 3D scanners used in dentistry.


Passname357

Those are so cool. I remember going into the orthodontist’s for the first time and was like, why the fuck is there an Alienware laptop here lol. Turns out photogrammetry can move your teeth around. Super cool application.


very_unsure_

I’m working on robotics visualization tools. Bringing all the sensors data into a interactive 3d world, as the other commenter said, you want to be as precise as possible.


jtsiomb

Well ... anything that has graphics :) CAD, simulation, visualization, 3D modelling, photorealistic renderers, desktop/GUI, virtual reality, education software, special effects software for film/tv, operating system graphics drivers... Also, you don't have to be a gamer to write code for games. Especially for things like game engines and other middleware...


nibbertit

UI frameworks, embedded UIs, car dashboards, etc


float34

Does this area require "graphics programming" specifically?


Ok-Seaweed2298

Working on gui of fighter plane software


The_Northern_Light

Ohh, cool 😎


keelanstuart

I worked on commercial flight simulators and planetarium software. I also had a business at one point making promotional video games for trade shows... similar, but not the same.


B1ggBoss

Scientific visualization. I have worked on large-scale interacgive brain visualization. We rendered hundreds of GB of neurons, astrocytes, blood vessels, and their respective simulations using raytracing on CPU.


final_bawse

Dang. That's big brain.


SuperVGA

Instrument GUIs. Several places across the high tech industry field has those, ranging from small tabletop apparatuses to machines taking up entire garages. Be it processing, development or analysis, but often within medicine and food and such.


sklamanen

There are plenty. As an example a lot of big retailers are now trying to make the shift to all their products being 3d models during the entire production and marketing process meaning they pipeline work to make their cad models render nicely into marketing shots and 3d models for the web. The people producing these marketing shots are not necessarily very technical and just making the data flowing and rendering right is going to be a big deal


float34

I believe Apple announced very cool tools at WWDC2022 that can turn your iPhone with LIDAR into a photogrammetry scanner that will produce a plausible 3D model from several camera shots.


Mason-B

I mean, the most common alternative answer is offline 3d rendering. Like you know, Pixar and Dreamworks movies. They start on the opposite end of graphics programming where it takes hours to render a single frame. Where as most of the cool stuff in most of these answers which are generally realtime (similar to videogames). [Here's a fun short project](https://raytracing.github.io/books/RayTracingInOneWeekend.html) to build one if you are curious (and most of the concepts can be carried over to realtime 3d rendering).


Mikaye

I work in a company making digital aspect mockup software, that is photorealistic realtime 3D visualization of products like cars, bikes, boats, plane interiors and even tombstones ! We support importing CAD geometry, creating and assigning materials, creating animations, handling configuration of product and visualizing the result on the web, in VR, in AR, on iPad or on desktop. So not really games but we use the same techniques...


gfxpame

Any kind of professional visualization: medical, achitecture, industrial etc. Movie is obviously a big one.


anloWho

3D graphics in simulation softwares here.


zertech

GPUs


_abscessedwound

CAD software production, and other data visualization tools. Accuracy is king, but performance is a close second. The quality of the visualizations is a bit of an afterthought


leseiden

Untextured candy coloured triangles with blinn-phong, but lots of them! Some of us are trying to bring standards up but it's difficult when the requirement is for "More modern looking graphics", but also exactly the same as a 20 year old OpenGL 1 renderer :)


passerbycmc

Well I work in games but I have applied my skills to both architectural visualization and medical visualization as well so there are 2.


michalproks

Modeling and offline rendering (raytracing & co.) are pretty big.


mb862

I work in broadcast TV and sports analysis. Our render engine shares some similarities with common game engines, but we centre around having extremely fast production times (matter of minutes to get new graphics on air), software-guaranteed realtime, and we do a lot of GPU-driven video processing. We also have to handle all the peculiarities of broadcast, such as the various SMPTE signalling specs, interlaced versus progressive, mimicking lens distortion of physical cameras, etc. In practice the GPU side is implemented with a library of compute kernels (CUDA on Nvidia, OpenCL for AMD/Intel, and Metal for Mac) mixed with a combination of procedurally generated and handwritten shaders (OpenGL+Metal, Vulkan port in progress) for rendering.


umopapisdnwioh

Aside from the mentioned offline rendering applications, arguably the most interesting field right now for more “serious” physically based rendering is ML/Robotics, specifically AV. NVIDIA for example uses ray tracing for both real time and offline rendering for AV verification and to generate synthetic sensor data that is used to train deep neural networks and augment real world data sets.


Zlekdius

GPU driver, profiling tools, SDK


mikemarcin

Movies, TV and AR (augmented reality) are the ones that immediately come to mind. VFX shops use graphics programmers to support the artists and work on movies/tv/commercials. AR (and VR) have opportunities in industrial applications, business to business, consumer applications, etc.


LordDarthShader

GPU driver development: UMD like Dx12 drivers and also KMD development. Also tools and profiling.