Work summary 07/28/2017

Monday 07/24

Finish user study survey.

Tuesday 07/25

Revised user study.

Try interpolation

Wednesday 07.26

Finish interpolation, try to debug the strange lines (failed)

Thursday 07/27

Solve the bug 306 & 400 for vive by:

  • disconnect the usb, hdmi and power.
  • steamVR->Settings -> disconnect all usb devices
  • Reboot the laptop
  • steamVR->Settings -> enable direct mode
  • connect the usb, hdmi and power.

Go to GLAO and ask about the parking ticket.

Try TAA with variance sampling to solve the flickers.

Read Paper: Adaptive Image Space Sampling for Gaze-Contingent Real-time Rendering

Pipeline:

Implemented after geometry pass and before actual shading

Build visual perception model:

Derive per-pixel sample probability map P that assigns a single perceptual importance value in [0,1] for each feature.

Features

  • Acuity
    • Build a eccentricity fall-off model which is valid for more than 30degree.
    • Revise the model based on eye motion (the fovea becomes a line)
    • Should read Dropbox\OPENGL\papers\VISUAL SENSORY UNITS AND THE MINIMUM ANGLE OF RESOLUTION
  • Attention
    • Texture adaption:
      • just use mipmap: remove high frequency to avoid aliasing
    • 3 perceptual filters:
      • Object Saliency Detection: Fo
      • Silhouette Detection: Fs
      • Highlight Detection: Fh
  • Brightness adaption

07/06/2017

Research:

Some important tips about loading textures in shaders:

  • Remember to glDeleteTextures(1, &texId) in each cycle. Otherwise, it will cause memory overflow.
  • GLuint textureId must be initialized to different numbers, if there are 2 textures:
    • GLuint textureId[2];
      • It will load the second texture for BOTH textures, the first texture will disappear.
    • GLuint textureId[2] = {0,0};
      • It will load the second texture for BOTH textures, the first texture will disappear.
    • GLuint textureId[2] = {0,1};
      • Good! This is the correct way!
  • GL_PIXEL_UNPACK_BUFFER

06/28/2017

Research:

  • Finish CITI courses.
  • Register in IRB
  • Should ask Eric about next steps.

Leetcode:

  • 53-maximum-subarray
    • DP
  • 48. Rotate Image

    • Use new_i = …, new_j = … when updating i,j. Then i = new_i, j = new_j. Otherwise, the newly calculated i will affect the calculation of j
  • 54. Spiral Matrix
    • Check if break after each direction in each ring
  • 59. Spiral Matrix II
    • There is no need to check breaking in left and up route!!

Waiting:

  • waiting for installation of softwares on chibwks04. So I can make tests on the PC
  • waiting for HDMI ->VGA connector.
  • wating for Eric about next steps

 

06/20/2017

Research:

  • Read Eric’s code about KroEngine
  • about use of glFinish(), re-test the times
  • revise PPT

LeetCode:

  • 35. Search Insert Position
  • 33 & 81. Search in Rotated Sorted Array I & II

Parallel Computing Study:

  • Lesson3
    • Exclusive scan & Inclusive scan
    • Hillis Steele Scan & Blelloch Scan:
      • HSS (Inclusive) step efficiency
        • step: log(n)
        • work: nlog(n)
      • BS (Exclusive) work efficiency
        • step: 2 * logn
        • work O(n)
      • How to choose?
        • If have more work than processors: Blelloch Scan
        • If have more processors than work: Hillis Steele Scan
        • If serial: step: O(n), work: O(n)
    • Histogram
      • bins
      • atomic operation for memory

Guitar:

  • practice