aboutsummaryrefslogtreecommitdiffstats
Commit message (Expand)AuthorAgeFilesLines
...
* Read the buffer unpack alignment under the buffer lockChris Robinson2018-01-261-69/+76
* Improve error reporting for buffersChris Robinson2018-01-261-262/+269
* Add the printf-format attribute to alSetErrorChris Robinson2018-01-253-50/+51
* Construct error messages using parameterized valuesChris Robinson2018-01-2520-571/+610
* Enable events in alffplayChris Robinson2018-01-241-0/+73
* Report AL_SOFTX_events as an in-progress extensionChris Robinson2018-01-241-0/+1
* Use more appropriate enum values for eventsChris Robinson2018-01-241-7/+7
* Add a deprecated event type for alDopplerVelocityChris Robinson2018-01-244-0/+16
* Fix ordering of alGetPointervSOFTChris Robinson2018-01-241-28/+28
* Provide messages for the remaining AL errorsChris Robinson2018-01-2419-625/+559
* Set the buffer load error in LoadDataChris Robinson2018-01-242-42/+37
* Call the event callback when an error is generatedChris Robinson2018-01-246-104/+114
* Handle event propertiesChris Robinson2018-01-235-2/+156
* Declare the beginnings of an event extensionChris Robinson2018-01-231-0/+23
* Fix some 'may be used initialized' warningsChris Robinson2018-01-231-53/+54
* Use a new proper buffer function with a flags parameterChris Robinson2018-01-234-25/+31
* Test mapped buffers in alffplayChris Robinson2018-01-231-14/+68
* Ensure read or write flags are specified with persistent mappingsChris Robinson2018-01-231-4/+7
* Track the buffer's mapped sectionChris Robinson2018-01-232-3/+10
* Add a flag for persistent mappingChris Robinson2018-01-233-8/+49
* Slightly simplify alBufferSubDataSOFTChris Robinson2018-01-221-36/+13
* Ensure proper alignment when preserving data tooChris Robinson2018-01-221-2/+3
* Don't bother allocating cleared memory for buffer storageChris Robinson2018-01-221-1/+1
* Add a flag for alBufferData to non-destructively resize the dataChris Robinson2018-01-222-7/+25
* Fix the return type of the al_fwrite wrapperChris Robinson2018-01-221-1/+1
* Don't convert/copy samples with a NULL dest bufferChris Robinson2018-01-221-6/+4
* Remove now-unused alloca and VLA checksChris Robinson2018-01-212-22/+0
* More cleanup for buffer loadingChris Robinson2018-01-216-833/+112
* Handle double-precision buffers in the mixerChris Robinson2018-01-213-29/+13
* Remove support for (signed) byte and ushort sample storageChris Robinson2018-01-213-89/+24
* Remove (u)int32 sample storage conversionChris Robinson2018-01-213-69/+7
* Remove the old buffer_samples functionsChris Robinson2018-01-213-223/+32
* Fix the return type of the LPALUNMAPBUFFERSOFT typedefChris Robinson2018-01-211-1/+1
* Avoid repeating some codeChris Robinson2018-01-211-12/+6
* Expose a preliminary AL_SOFT_map_buffer extension for testingChris Robinson2018-01-201-8/+33
* Add methods to "map" a buffer's storageChris Robinson2018-01-204-12/+137
* Return the effective alignment from SanitizeAlignmentChris Robinson2018-01-191-28/+26
* Store 8-bit sample types directly as unsigned byteChris Robinson2018-01-193-17/+17
* Remove unnecessary private AL_SOFT_buffer_samples2 definitionsChris Robinson2018-01-194-89/+4
* Make a function static that's only used in one source fileChris Robinson2018-01-172-3/+2
* Reformat the format arrayChris Robinson2018-01-171-36/+36
* Store mulaw and alaw samples directly in the bufferChris Robinson2018-01-175-35/+40
* Add a method to get the system's page sizeChris Robinson2018-01-164-0/+61
* Use a voice flag to indicate it being staticChris Robinson2018-01-164-8/+9
* Define DECL_VLA where it's usedChris Robinson2018-01-162-6/+7
* Avoid using alloca in the CoreAudio backendChris Robinson2018-01-161-12/+10
* Use a global RowMixerFuncChris Robinson2018-01-164-31/+10
* Properly cast some parameters for MSVCChris Robinson2018-01-161-5/+5
* Add min/max/clamp functions for size_tChris Robinson2018-01-162-0/+11
* Do more samples at once with the distortion effectChris Robinson2018-01-161-25/+21
clude the width of the boundary. * @param depth depth of image at level 0. This * does not include the width of the boundary. * @param boundaryWidth width of the boundary, which must be 0 or 1. * @exception IllegalArgumentException if width, height, or depth are not * greater than 0 OR invalid format/mipmapMode is specified, or * if the boundaryWidth is &lt; 0 or &gt; 1 * * @since Java 3D 1.3 */ public Texture3D(int mipmapMode, int format, int width, int height, int depth, int boundaryWidth) { super(mipmapMode, format, width, height, boundaryWidth); int depthLevels = -1; depthLevels = getLevelsNPOT(depth); // TODO : Need to verify whether this is a bug. Why depthLevels isn't // use to determine maxMipMapLevels ? See also Texture.java ((Texture3DRetained)this.retained).setDepth(depth); } /** * Sets the boundary mode for the R coordinate in this texture object. * @param boundaryModeR the boundary mode for the R coordinate, * one of: CLAMP, WRAP, CLAMP_TO_EDGE, or CLAMP_TO_BOUNDARY * @exception RestrictedAccessException if the method is called * when this object is part of live or compiled scene graph. * @exception IllegalArgumentException if <code>boundaryModeR</code> * is a value other than <code>CLAMP</code>, <code>WRAP</code>, * <code>CLAMP_TO_EDGE</code>, or <code>CLAMP_TO_BOUNDARY</code>. */ public void setBoundaryModeR(int boundaryModeR) { checkForLiveOrCompiled(); switch (boundaryModeR) { case Texture.CLAMP: case Texture.WRAP: case Texture.CLAMP_TO_EDGE: case Texture.CLAMP_TO_BOUNDARY: break; default: throw new IllegalArgumentException(J3dI18N.getString("Texture31")); } ((Texture3DRetained)this.retained).initBoundaryModeR(boundaryModeR); } /** * Retrieves the boundary mode for the R coordinate. * @return the current boundary mode for the R coordinate. * @exception RestrictedAccessException if the method is called * when this object is part of live or compiled scene graph. */ public int getBoundaryModeR() { if (isLiveOrCompiled()) if(!this.getCapability(Texture.ALLOW_BOUNDARY_MODE_READ)) throw new CapabilityNotSetException(J3dI18N.getString("Texture3D0")); return ((Texture3DRetained)this.retained).getBoundaryModeR(); } /** * Retrieves the depth of this Texture3D object. * @return the depth of this Texture3D object. * @exception CapabilityNotSetException if appropriate capability is * not set and this object is part of live or compiled scene graph * * @since Java 3D 1.2 */ public int getDepth() { if (isLiveOrCompiled()) if(!this.getCapability(ALLOW_SIZE_READ)) throw new CapabilityNotSetException(J3dI18N.getString("Texture3D2")); return ((Texture3DRetained)this.retained).getDepth(); } /** * Creates a retained mode Texture3DRetained object that this * Texture3D component object will point to. */ @Override void createRetained() { this.retained = new Texture3DRetained(); this.retained.setSource(this); } /** * @deprecated replaced with cloneNodeComponent(boolean forceDuplicate) */ @Override public NodeComponent cloneNodeComponent() { Texture3DRetained t3d = (Texture3DRetained) retained; Texture3D t = new Texture3D(t3d.getMipMapMode(), t3d.format, t3d.width, t3d.height, t3d.depth); t.duplicateNodeComponent(this); return t; } /** * NOTE: Applications should <i>not</i> call this method directly. * It should only be called by the cloneNode method. * * @deprecated replaced with duplicateNodeComponent( * NodeComponent originalNodeComponent, boolean forceDuplicate) */ @Override public void duplicateNodeComponent(NodeComponent originalNodeComponent) { checkDuplicateNodeComponent(originalNodeComponent); } /** * Copies all node information from <code>originalNodeComponent</code> into * the current node. This method is called from the * <code>duplicateNode</code> method. This routine does * the actual duplication of all "local data" (any data defined in * this object). * * @param originalNodeComponent the original node to duplicate. * @param forceDuplicate when set to <code>true</code>, causes the * <code>duplicateOnCloneTree</code> flag to be ignored. When * <code>false</code>, the value of each node's * <code>duplicateOnCloneTree</code> variable determines whether * NodeComponent data is duplicated or copied. * * @see Node#cloneTree * @see NodeComponent#setDuplicateOnCloneTree */ @Override void duplicateAttributes(NodeComponent originalNodeComponent, boolean forceDuplicate) { super.duplicateAttributes(originalNodeComponent, forceDuplicate); ((Texture3DRetained) retained).initBoundaryModeR(((Texture3DRetained) originalNodeComponent.retained).getBoundaryModeR()); } }