SShortSingh.
Back to feed

Developer Builds VR Game to Treat Amblyopia Using Foveated Rendering and Adaptive Contrast

0
·1 views

A developer describes building a VR rehabilitation prototype aimed at treating amblyopia, or lazy eye, through a game-based therapy system. The main technical challenge was keeping rendering latency low, since frame jitter above about 2 ms disrupts stereo vision, which was addressed with a compute-shader distortion pass and fixed-foveated rendering. The game adjusts inter-ocular contrast in 5% steps via a closed-loop controller written in Rust, with session data logged to a local database. Over three weeks, the average contrast threshold reportedly fell from 0.42 to 0.18, a result the author says matched the clinical protocol being mirrored. The author also notes that tweaks to temporal anti-aliasing affected perceived depth and adaptation, and advises developers of similar tools to instrument every rendering stage.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

GitHub Expands Enterprise App Installations, Separating Admin Scope From Repository Access

GitHub made enterprise installations for its Apps generally available on October 23, adding broader support for administrative and governance automation. The update is a reminder that installing an app at one level does not automatically grant access to every project beneath it. According to GitHub's guide, enterprise installations cover enterprise-level operations only, while organization and repository resources need separate installations. Enterprise installations also do not currently receive webhooks for enterprise-level activity. The article argues that developers should map the required operations, target resources and permissions before expanding access to resolve errors.

0
ProgrammingDEV Community ·

How to pull all of Amazon's 21,000 job listings through its public search API

Amazon hosts its own careers site, and its amazon.jobs search exposes a public JSON endpoint that needs no key or login. The article notes that the reported hits count caps at 10,000, so the true total of roughly 21,441 jobs must be read from facet counts instead. Requests with result_limit above 100 return nothing, and offsets past 10,000 return an error with null jobs, which can crash naive code. Splitting searches by category or country code keeps each query under the cap, with results joined on the stable id_icims field. Date parsing and location-filter quirks are also covered, along with a third-party scraper option.

0
ProgrammingDEV Community ·

Verifying an AI-Assisted Copy-on-Write Filesystem Through Device-Level Write Comparison

The author of a from-scratch copy-on-write filesystem called singlefs faces the challenge of proving its correctness, since its on-disk format is unique and AI-generated code outpaces human review. Because self-describing headers and a reverse index let each block identify its owner and generation, the design can check where data went, but per-block checks are slow and only verify results rather than the write process. To address this, the team boots a QEMU virtual machine with write-back caching and places a write-logging filter in front of each virtual disk to record every write and flush. The program's own recorder and the externally captured device log are compared, with the rule that the program's log must be an exact prefix of the disk's log and only flushes may follow. The author notes that a check which always passes would be worthless, so the comparison gate must also be shown capable of failing.

0
ProgrammingDEV Community ·

Why a 16x25x1 Furnace Filter Isn't Actually 16 by 25 Inches

A typical furnace filter labeled 16x25x1 measures roughly 15.5 by 24.5 inches and three-quarters of an inch thick, so the printed size is a rounded-up nominal value. The HVAC Fitter team explains that the first two numbers can be swapped without changing the filter, and that unlabeled filters should be measured and rounded up to the next whole inch. Filter depths come in 1, 2, 4 and 5 inches, and a filter of the wrong depth should not be forced into the slot. The article provides a Python model that normalizes differently formatted size strings and checks whether one filter can safely replace another. The guidance is general information and does not replace a heating system's manual.

Developer Builds VR Game to Treat Amblyopia Using Foveated Rendering and Adaptive Contrast · ShortSingh