WorldViz User Forum  

Go Back   WorldViz User Forum > Vizard

Reply
 
Thread Tools Rate Thread Display Modes
  #1  
Old 09-11-2018, 10:59 PM
Jeff Jeff is offline
WorldViz Team Member
 
Join Date: Aug 2008
Posts: 2,471
I'll have to ask a developer if there is a way to get the refresh rate from a connected HMD. You could check to see if the HMD is connected and hardcode the rate based on that.

The following shows how to create create an action from a node3d command:

Code:
import viz
import vizact
viz.go()

viz.MainView.getHeadLight().disable()
viz.clearcolor(viz.SLATE)
ball = viz.addChild('basketball.osgb',pos=[0,1.8,3])

light = viz.addLight()
light.intensity(0)

mix = vizact.mix(0.0, 1.0, time=1.0)
change_intensity = vizact.method.intensity(mix)
light.addAction(change_intensity)
Reply With Quote
  #2  
Old 09-12-2018, 01:21 AM
peterparker peterparker is offline
Member
 
Join Date: Aug 2018
Posts: 12
Thanks for the info regrading actions, that would be the second way I outlined above. Good enough for now. As I pointed out earlier, hard coding would not be preferable. I do think, though, that the option for getting the current refresh rate would be great for a graphics/3D engine.

Btw., is there a Vizard command to get the current system time? Or do you have to rely on python's 'time' library?

From using the PsychToolbox I am used to have a command that waits for a particular system. There you can get a time stamp from basically every time critical command and then wait for this time stamp plus 10 ms, e.g.

But then the minimum time interval you can wait in the Vizard is bound to the refresh rate, correct? Unless you are using the director function, of course (which spawns another thread, iirc).
Reply With Quote
  #3  
Old 09-12-2018, 03:24 AM
Jeff Jeff is offline
WorldViz Team Member
 
Join Date: Aug 2008
Posts: 2,471
Quote:
Btw., is there a Vizard command to get the current system time? Or do you have to rely on python's 'time' library?
For the system time, you would need to use the Python library. Vizard provides the viz.tick command which returns the time elapsed from when the script was started.

Quote:
But then the minimum time interval you can wait in the Vizard is bound to the refresh rate, correct? Unless you are using the director function, of course (which spawns another thread, iirc).
If you're yielding for a Vizard action or event then it's bound to the refresh rate. What is it that you want to wait for and get a timestamp of?
Reply With Quote
  #4  
Old 09-14-2018, 05:04 AM
peterparker peterparker is offline
Member
 
Join Date: Aug 2018
Posts: 12
Thanks, viz.tick would suffice for this purpose.

If I was under time pressure I could have just coded this from scratch: change the light intensity by 1% and wait for 10 ms. Rinse, repeat. I would just ignore the fact that these slight changes do not coincide with frame buffer swaps. Like this I wouldn't have had to know the framerate.

Ideally, I would wait for 'lastTimeStamp + 10 ms' in order to be precise, which would basically be possible with the viz.tick command. But only using the 'viz.director', of course.

Sometimes it is faster to code yourself than to find out whether designated methods exist and how they work.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Question about Vizard Expiration Timer Rate mizutani_jun Vizard 2 02-23-2011 09:13 PM
Vizard 4 Beta Testing farshizzo Announcements 0 02-01-2011 10:46 AM
Vizard 4 Beta Testing farshizzo Vizard 0 02-01-2011 10:46 AM
Vizard tech tip: Using the Python Imaging Library (PIL) Jeff Vizard 0 03-23-2009 11:13 AM
Vizard tech tip: Text to Speech Jeff Vizard 1 01-15-2009 09:39 PM


All times are GMT -7. The time now is 04:46 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Copyright 2002-2023 WorldViz LLC