Abstract:
Systems, methods and program storage devices are disclosed, which comprise instructions to cause one or more processing units to dynamically generate refined normal maps for 2D texture maps, e.g., supplied by a programmer or artist. Generally speaking, there are two pertinent properties to keep in balance when generating normal vectors comprising a normal map: “smoothness” and “bumpiness.” The smoothness of the normal vectors is influenced by how many neighboring pixels are involved in the “smoothening” calculation. Incorporating the influence of a greater number of neighboring pixels' values reduces the overall bumpiness of the normal map, as each pixel's value takes weight from those neighboring pixels. Thus, the techniques described herein iteratively: downsample height maps; generate normal maps; scale the normal maps to maintain bumpiness; and blend the generated scaled normal maps with generated normal maps from previous iterations—until the smoothness of the resultant normal map has reached desired levels.
Abstract:
A method includes determining an eye focus depth and determining a focus point relative to a viewing location in a virtual environment based on the eye focus depth, wherein the virtual environment includes a computer-generated object. The method also includes, upon determining that the focus point is located within a threshold distance from the computer-generated object, activating a function of a computer-executable code development interface relative to the computer-generated object.
Abstract:
A device implementing dynamic library access based on proximate programmable item detection includes a sensor and a processor configured to detect, using the sensor, a programmable physical item in a proximate area. The processor is further configured to, responsive to detecting the programmable physical item, provide an indication of available functions for programming the programmable physical item. The processor is further configured to receive input of code that comprises at least one of the available functions for programming the programmable physical item. The processor is further configured to program the programmable physical item based at least in part on the code. In one or more implementations, the processor may be further configured to translate the code into a set of commands for programming the programmable physical item and to transmit the set of commands to the programmable physical item.
Abstract:
A device implementing an adaptive assembly guidance system includes an image sensor and a processor configured to capture, using the image sensor, an image of a set of connectable components. The processor is further configured to process the captured image to detect individual connectable components of the set of connectable components and to detect a current configuration of the set of connectable components. The processor is further configured to determine, based at least in part on the detected individual connectable components of the set of connectable components, a recommended configuration of the set of connectable components. The processor is further configured to display information for assembling the set of connectable components into the recommended configuration from the current configuration.
Abstract:
A method for debugging includes determining an eye focus depth for a user, determining a virtual focus point relative to a virtual view location in a virtual environment based on the eye focus depth for the user, transitioning a first object from the virtual environment from a first rendering mode to a second rendering mode based on a location of the virtual focus point relative to the first object, wherein visibility of a second object from the virtual view location is occluded by the first object in the first rendering mode and visibility of the second object from the virtual view location is not occluded by the first object in the second rendering mode, and activating a function of a development interface relative to the second object while the first object is in the second rendering mode.
Abstract:
A method of assembling a tile map can include assigning each tile in a plurality of tiles to one or more color groups in correspondence with a measure of a color profile of the respective tile: A position of each tile in relation to one or more neighboring tiles can be determined from a position of a silhouette corresponding to each respective tile in relation to one or more neighboring silhouettes within a set containing a plurality of silhouettes. The plurality of tiles can be automatically assembled into a tile map, with a position of each tile in the tile map being determined from the color group to which the respective tile belongs and the determined position of the respective tile in relation to the one or more neighboring tiles. Tangible, non-transitory computer-readable media can include computer executable instructions that, when executed, cause a computing environment to implement disclosed methods.
Abstract:
The refresh rate of a display of a portable display device is dependent on the degree of device motion detected by one or more motion sensors included in the portable display device, according to an embodiment of the invention. In an embodiment, when no device motion is detected by the one or more sensors, the display of the portable display device is refreshed at an initial refresh rate. When the one or more motion sensors detects a degree of device motion above a motion threshold, the refresh rate of the display is decreased to a motion-based refresh rate, according to an embodiment. In an embodiment, the degree of motion of moving content on the display is also taken into account when determining the display refresh rate.
Abstract:
Techniques to automatically generate a navigation graph for a given environment and agent are disclosed. The environment may include an arbitrary number of polygonal obstacles arbitrarily arranged, concave or convex, static or dynamic. The disclosed operation extrudes (in a specified manner) the vertex of each obstacle. The extruded vertices comprise the navigation graph's nodes. Each object's extruded vertices may be joined to form a corresponding extruded object. Paths may then be identified by attempting to connect every extruded vertex with every other extruded vertex. Those paths intersecting any of the extruded objects are rejected as possible paths. In some embodiments, paths that are oriented in approximately the same direction having approximately the same length may be removed as being redundant.
Abstract:
Systems and techniques for generating an artificial terrain map can compute a region of a noise map in an N-dimensional space and define a terrain characteristic in correspondence with a value of the noise map at each of a selected plurality of positions within the region of the noise map. The terrain characteristic can be projected at each of a selected plurality of positions within the region on a lower-dimensional sub-space. A map of an artificial terrain can be rendered based on the projection. The map of the artificial terrain can be scaled or otherwise manipulated in correspondence with scaling or otherwise manipulating the lower-dimensional sub-space. Generated maps in machine-readable form can be converted to a human-perceivable form, and/or to a modulated signal form conveyed over a communication connection.
Abstract:
A set of tools, in the form of a software developers kit (SDK) for a graphics rendering system, is provided to improve overall graphics operations. In general, the tools are directed to analyzing a scene tree and optimizing its presentation to one or more graphics processing units (GPUs) so as to improve rendering operations. This overall goal is provided through a number of different capabilities, each of which is presented to software developers through a new applications programming interface (API).