Abstract:
Testbeds for battery management systems (BMSs) and/or batteries, as well as methods of using the same, are provided. A testbed can be a control-hardware-in-the-loop (CHIL) testbed and can include a simulation bench including a battery cell simulator, a temperature simulator, and/or a real-time simulator. The simulator bench can further include a programmable power supply, a relay, a resistor, and/or a communication protocol.
Abstract:
Various technologies and techniques are disclosed that improve the process of working with 3D rotations. Rotations are treated as a separate abstract entity from general transforms. By having rotations separate from general transforms, the user can perform the various operations on any “rotation” regardless of its encoding. An abstract 3D transform class is provided that represents a transform that can be applied to 3D a mesh or scene node, and an abstract 3D rotation class is provided which is exposed separately from other general transforms. A concrete implementation of the 3D transform class uses a 3D rotation class to apply a rotation to a 3D mesh or scene node. One or more concrete implementations of the 3D rotation class are provided which represent a separate rotation encoding.
Abstract:
Methods and computer-readable media for displaying two-dimensional objects on a display device are disclosed. Rendering requests are received from an application to render two-dimensionally modeled graphics to a display device. Primitive geometries of drawing calls of the rendering requests are tessellated into sequences of triangles. The vertices of the triangles are mapped to a vertex buffer along with an index to identify associated constant data. Batching operations store and communicate calls and mapped data to a graphics processing unit by way of a three-dimensional rendering application program interface. Constant data associated with the mapped data are indexed and appended together in a constant buffer, thereby allowing drawing calls to be coalesced. A staging buffer and a staging texture are provided for batching text anti-aliasing operations. Shader fragments are precompiled and organized by way of a predetermined lookup table.
Abstract:
Various technologies and techniques are disclosed that improve the automatic generation of near and far clipping planes for a 3D scene. The viewing frustum is intersected with the scene to determine the range of depth that a particular scene occupies in the viewing frustum. The ratio of the near clipping plane to far clipping plane is adjusted as appropriate to ensure a desired minimum level of Z-buffer precision is achieved. The clipping planes are set sufficiently far outside of the object bounds to prevent triangles which are parallel to the clip planes from being accidentally clipped. An API is provided to allow other programs to retrieve the near and far clipping plane values with the desired minimum Z-buffer precision for a particular scene without having to interact with the Z-buffer.
Abstract:
Various technologies and techniques are disclosed that improve the automatic generation of near and far clipping planes for a 3D scene. The viewing frustum is intersected with the scene to determine the range of depth that a particular scene occupies in the viewing frustum. The ratio of the near clipping plane to far clipping plane is adjusted as appropriate to ensure a desired minimum level of Z-buffer precision is achieved. The clipping planes are set sufficiently far outside of the object bounds to prevent triangles which are parallel to the clip planes from being accidentally clipped. An API is provided to allow other programs to retrieve the near and far clipping plane values with the desired minimum Z-buffer precision for a particular scene without having to interact with the Z-buffer.
Abstract:
An anti-aliasing mechanism. In one aspect, one or more opacities are determined to apply to layers used to render an image. An order in which to render the layers is also determined. This order may correspond to an order in which points within the image are sampled. The first layer to render is set to an opacity that applies to it and rendered. The second layer to render is set at an opacity that applies to it and rendered on top of the first layer. In rendering the second layer, the opacities of the first and second layers are blended.
Abstract:
A method and system measuring the correctness of rendered images. A reference renderer generates a reference image from data describing the image. A tolerance buffer is generated that includes a tolerance for a pixel representing a portion of the reference image. If a renderer renders the pixel outside the tolerance for the pixel, the renderer is deemed to have rendered the pixel incorrectly. If the renderer renders the pixel within the tolerance, the renderer is deemed to have rendered the pixel correctly.
Abstract:
A lighting model specified in light space may be transformed to a 3D scene, which may include numerous lights. When the lighting model is transformed to the 3D scene and is uniformly scaled or near-uniformly scaled, intensity or brightness of light at sample points, corresponding to points in the 3D scene, may be adjusted proportionately for a light source using a value based, at least partly, on a transform matrix. When the lighting model in the light space is scaled to non-uniformly stretch a lit area, the sample points may be transformed to the light space, using an inverse of a transform matrix. Distances from the light source to the transformed sample points in the light space may be used to determine attenuation and range with respect to the light source.
Abstract:
A lighting model specified in light space may be transformed to a 3D scene, which may include numerous lights. When the lighting model is transformed to the 3D scene and is uniformly scaled or near-uniformly scaled, intensity or brightness of light at sample points, corresponding to points in the 3D scene, may be adjusted proportionately for a light source using a value based, at least partly, on a transform matrix. When the lighting model in the light space is scaled to non-uniformly stretch a lit area, the sample points may be transformed to the light space, using an inverse of a transform matrix. Distances from the light source to the transformed sample points in the light space may be used to determine attenuation and range with respect to the light source.
Abstract:
An anti-aliasing mechanism. In one aspect, one or more opacities are determined to apply to layers used to render an image. An order in which to render the layers is also determined. This order may correspond to an order in which points within the image are sampled. The first layer to render is set to an opacity that applies to it and rendered. The second layer to render is set at an opacity that applies to it and rendered on top of the first layer. In rendering the second layer, the opacities of the first and second layers are blended.