Thread with 8 posts

jump to expanded post

you know, it’s a shame that C is designed by ISO/IEC JTC1/SC22/WG14 and not the OpenGL Architecture Review Board. i’m sure we’d all rather write:

glDisable(GL_MASKING);
glEnableClientState(GL_SOURCE_DATA_ARRAY);
glBindBuffer(GL_ARRAY_BUFFER, 0);
glSourceDataPointer(1, gl::UNSIGNED_BYTE, 1, dst_ptr);
glEnableClientState(GL_DESTINATION_DATA_ARRAY);
glBindBuffer(GL_ARRAY_BUFFER, 0);
glDestinationDataPointer(1, gl::UNSIGNED_BYTE, 1, src_ptr);
glCopyBytes(0, num_bytes);
if (glGetError() != 0) {
   // fuck
}

rather than

memcpy(dst_ptr, src_ptr, size);
Open thread at this post

β€œclient state? in 2023?” i hear you cry. ok ok. surely what we want to do then is

glDisable(GL_MASKING);
glEnableSourceDataArray();
glBindBuffer(GL_ARRAY_BUFFER, src_buf);
glSourceDataPointer(1, gl::UNSIGNED_BYTE, 1, (const GLvoid*)(uintptr_t)src_offset);
glEnableDestinationDataArray();
glBindBuffer(GL_ARRAY_BUFFER, dst_buf);
glDestinationDataPointer(1, gl::UNSIGNED_BYTE, 1, (const GLvoid*)(uintptr_t)dst_offset);
glCopyBytes(0, num_bytes);
if (glGetError() != 0) {
   // fuck
}
Open thread at this post
Richard Barrell , @0x2ba22e11@unstable.systems
(open profile)

@hikari
int strings[2];
strCreate(2, & strings);
strBindString(STR_DEST_STRING, string1);
strStringImage1D("hello, ");
strBindString(STR_DEST_STRING, string2);
strStringImage1D("world!");
strBindString (STR_DEST_STRING, string1);
strBindString(STR_SRC_STRING, string2);
strStrCat();
strBindString (STR_SRC_STRING, string1);
strBindFileDescriptor(STR_OUTPUT, 1);
strPutStrLn();
strFlush();

Open remote post (opens in a new window)